如何在NodeJs中通过_id从MongoDB集合中删除多个文档

10

我有一个_id的数组,例如:

["a12s", "33qq", "121a"]

我知道,在MongoDB中有两种方法,比如deleteMany,可以根据特定的查询条件进行删除。

  var myquery = { address: 'abc' };
  dbo.collection("customers").deleteMany(myquery, function(err, obj) {
    if (err) throw err;
  });

我想要删除具有指定id数组的文档,但是在文档中找不到相应内容,这是否可能在MongoDB中实现?同时,我想使用deleteManydeleteOne方法删除一个或多个文档。


你可以像这样使用 $indb.collection.deleteMany({'_id': {'$in':list_of_ids}})。https://dev59.com/BGMl5IYBdhLWcg3wP08a - Get Off My Lawn
1个回答

13
你需要使用$in操作符。它可以匹配数组中的值。你可以在deleteMany方法的过滤参数中使用它。
var ids = ["a12s", "33qq", "121a"];
var myquery = { _id: { $in: ids } };
  dbo.collection("customers").deleteMany(myquery, function(err, obj) {
    if (err) throw err;
  });

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