当前位置:Gxlcms > mysql > mongodb入门-10删除

mongodb入门-10删除

时间:2021-07-01 10:21:17 帮助过:34人阅读

mongodb入门-10删除 mongodb入门-9查询4 http://www.2cto.com/database/201305/212201.html mongodb的查询基本结束了,算是增删改查完成了一半了,该介绍删除了. 在mongodb中删除还是比较简单的,只有一个remove方法.remove方法如果不加参数将会删除集合中所有

mongodb入门-10删除

mongodb入门-9查询4

http://www.2cto.com/database/201305/212201.html

mongodb的查询基本结束了,算是增删改查完成了一半了,该介绍删除了.

在mongodb中删除还是比较简单的,只有一个remove方法.remove方法如果不加参数将会删除集合中所有的文档.如果添加参数只会删除满足条件的文档.这里的参数基本跟我们在查询中介绍的一样.下面看一段代码介绍:

[html]

> db.test.find()

{ "_id" : 1, "name" : "user_1", "age" : 1 }

{ "_id" : 2, "name" : "user_2", "age" : 2 }

{ "_id" : 3, "name" : "user_3", "age" : 3 }

{ "_id" : 4, "name" : "user_4", "age" : 4 }

{ "_id" : 5, "name" : "user_5", "age" : 5 }

> db.test.remove({age:1}) -->删除age为1的文档

> db.test.find()

{ "_id" : 2, "name" : "user_2", "age" : 2 }

{ "_id" : 3, "name" : "user_3", "age" : 3 }

{ "_id" : 4, "name" : "user_4", "age" : 4 }

{ "_id" : 5, "name" : "user_5", "age" : 5 }

> db.test.remove({age:{$gte:4}}) -->删除age大于等于4的文档

> db.test.find()

{ "_id" : 2, "name" : "user_2", "age" : 2 }

{ "_id" : 3, "name" : "user_3", "age" : 3 }

> db.test.remove() -->无参数将删除该集合中的所有文档

> db.test.find() -->查找的时候 没有数据了

> db.test.find()

在高并发的时候,可能我们删除一个文档的时候,其它用户正在更新该文档,这样就不能删除这个文档,显然这个是不能满足我们的条件的.这时候我们可以在删除的方法中的参数中加上$atomic参数,并将其设置为true,这样就能实现删除了.这个方法由于本人只在本地不容易测试,所以不能确定是否能删除,只是文档中这么说的.测试代码如下:

[html]

> db.test.find();

{ "_id" : ObjectId("519a24e4008d26b3ff25dfe8"), "age" : 2 }

{ "_id" : ObjectId("519a25e6008d26b3ff25dfe9"), "age" : 1 }

> db.test.remove({age:1,$atomic:true})

> db.test.find();

{ "_id" : ObjectId("519a24e4008d26b3ff25dfe8"), "age" : 2 }

删除比较简单,主要我们学好了查询就能学号删除了.

人气教程排行