当我调用时
db.collection.remove({'condition':'some condition'});
这一行代码将删除所有符合条件的文档。
如果我只想删除任意一个或第n个匹配条件,该怎么办?
db.collection.remove({'condition':'some condition'});
这一行代码将删除所有符合条件的文档。
如果我只想删除任意一个或第n个匹配条件,该怎么办?
从匹配的筛选条件中只取一个项目
var item = db.collection.findOne({'condition':'some condition'})
通过使用id删除该项
db.collection.remove({_id: item._id});
db.collection.remove
现在有一个justOne
标志。
http://docs.mongodb.org/manual/reference/method/db.collection.remove/#db.collection.remove
如果有多条记录,您只想删除第一条记录,则在remove()方法中设置justOne参数。
在这里,您只想删除1条。因此,将“justOne”参数设置为1。
db.collection.remove({'condition':'some condition'},1);
使用以下命令从集合中删除一个文档:
db.collectionname.remove({"_id": ObjectId("5473293d43ecdre56352457f3a")})
justOne
一个可选的布尔值。若要将删除限制为仅一个文档,请设置为
true
。如果省略,则使用默认值false
并删除与删除条件匹配的所有文档。
您可以将justOne
设置为true
,以执行此操作。
在 MongoDB 2.6版本之前:
db.collection.remove(
<query>,
<justOne>
)
MongoDB版本2.6或更高版本:
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)
像这样:db.collection.remove({"condition": "some condition"}, {justOne: true});
。
我使用过这个,它对我有效
db.eventList.remove({"_id":ObjectId("5d9f3bd0c02cef7d50bb97fb")});
你不能只运行一个查找操作来获取ID,然后在你想要的位置运行删除操作吗?
请尝试这个进行删除操作。
db.users.deleteOne({"_id": ObjectId("5473293d43ecdre56352457f3a")});