我想根据某些条件从MongoDB中删除一些集合。
我正在使用{ $in: deleteModule}
,其中deletemodule
是数组["ab","bc"]
。
但它只删除了集合中第一个存在的记录。
myDb.collection('ABC').findAndModify(
{'projectName': projectName, 'companyName': companyName,'moduleName':{ $in: deleteModule}},
[['_id', 'asc']],
{ 'remove': true },
答案 0 :(得分:1)
findAndModify
可用于原子地修改文档(最多一个)并返回它。它将仅删除第一个匹配的文档。这就是它的实现方式。
官方文件如此说:https://docs.mongodb.com/manual/reference/command/findAndModify/
对您的用例使用remove。 例如:
db.users.remove({'_id':{'$in':inactive_users}})
答案 1 :(得分:0)
您需要使用$in
条件来实现结果
ABC.remove({ moduleName: { $in: deleteModule } })