如何在MongoDB中删除多个ID?

27
{ "_id" : ObjectId("51ee3966e4b056fe8f074f48"), "userid" : "66", "clientid" : "88", "deviceid" : "22", "timestamp" : "1374214822000"}
{ "_id" : ObjectId("51ee507ae4b056fe8f074f4a"), "userid" : "66", "clientid" : "88", "deviceid" : "22", "timestamp" : "1374214822000"}
{ "_id" : ObjectId("51ee51fee4b056fe8f074f4b"), "userid" : "66", "clientid" : "88", "deviceid" : "22", "timestamp" : "1374214822000"}

如何在MongoDB中删除多个ID?

2个回答

55

通过对每个ID运行一次remove,或者使用in:

db.collection.remove( { _id : { $in: [
    ObjectId("51ee3966e4b056fe8f074f48"), 
    ObjectId("51ee3966e4b056fe8f074f4a"), 
    ObjectId("51ee3966e4b056fe8f074f4b") 
] } } );

Mr. Derick,MongoDB 中有任何数据类型吗? - user1983299
是的,有,但那与这个问题无关。 - Derick
在向MongoDB插入数据时,数据类型不是必需的,我认为是这样的。你有什么看法? - user1983299
NotIn 也有同样的功能吗? - firstpostcommenter
7
"remove"已经过时!应该使用deleteMany - kuzey beytar

31
你可以通过使用命令deleteMany来实现这一点。
const objects = [
    ObjectId("51ee3966e4b056fe8f074f48"), 
    ObjectId("51ee3966e4b056fe8f074f4a"), 
    ObjectId("51ee3966e4b056fe8f074f4b") 
];

db.collection.deleteMany({_id: { $in: objects}});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接