如何删除mongodb中的多个ID?

use*_*299 12 mongodb mongodb-.net-driver

{ "_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"}
Run Code Online (Sandbox Code Playgroud)

如何删除mongodb中的多个ID?

Der*_*ick 28

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

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

  • 删除 **已弃用**!应该使用“deleteMany” (5认同)

Kus*_*chi 12

您可以使用命令deleteMany完成此操作

const objects = [
    ObjectId("51ee3966e4b056fe8f074f48"), 
    ObjectId("51ee3966e4b056fe8f074f4a"), 
    ObjectId("51ee3966e4b056fe8f074f4b") 
];

db.collection.deleteMany({_id: { $in: objects}});
Run Code Online (Sandbox Code Playgroud)