赞
踩
mongodb如何删除集合(表)的所有数据???
删除 status 等于 A 的全部文档:
db.inventory.deleteMany({ status : "A" })
删除 status 等于 D 的一个文档:
db.inventory.deleteOne( { status: "D" } )
db.drop() //是将整个集合包含结构删除.
Java 版驱动, 删除集合数据对应的写法是:
Document filter =...
rs = getMongoDatabase(conn).getCollection(tableName).deleteMany(filter);
但filter不能为null.
那如何删除所集合(表)的所有文档document(数据记录)呢?
如删除集合下全部文档:
原生语法是:
db.inventory.deleteMany({})
mongodb的语法,比起SQL还是费劲许多.
有没有面向对象操作的方法呢?
像以下这种写法,
- public static void main(String[] args) {
- SuidRich suidRich = BF.getSuidRich(); //获取Select,Update,Insert,Delete操作对象
- int delNum = suidRich.delete(new Orders3()); //删除Orders3集合(表)里的所有数据
- Logger.info("delNum:" + delNum);
- }
其实这种做法,是很危险的.试想,要是在生产环境,错误操作,所有用的数据都删了,那可不行.
看看一个小巧易用的ORM框架, 十分钟即可入门, 还可以防止误删除.
设置不允许删除整个集合(表)的数据,即可.
bee.osql.notDeleteWholeRecords=true
日志:
- [WARN] BeeIllegalBusinessException: It is not allowed delete whole documents(records) in one collection(table).
- [INFO] delNum:-1
注: 返回-1, 表示有异常
源码下载:
https://github.com/automvc/bee
Hibernate/MyBatis + plus + Sharding-JDBC + jpa + Spring data +GraphQL+手机App ORM = Bee
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。