首页 > 解决方案 > 如何通过NodeJs中的_id从MongoDB中的集合中删除许多文档

问题描述

我有一个_ids数组,例如

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

我知道,MongoDB 中有两种方法,例如deleteMany,我可以通过特定查询删除

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

并且deleteOne,我可以在其中删除一个特定的选定文档。

我想从给定数组中删除带有 id 的文档,但在文档中找不到任何关于此的内容。在 MongoDB 中可以吗?

标签: javascriptnode.jsmongodb

解决方案


您正在寻找$in运营商。它匹配数组中的值。您可以在deleteMany方法过滤器参数中使用它。

var ids = ["a12s", "33qq", "121a"];
var myquery = { _id: { $in: ids } };
  dbo.collection("customers").deleteMany(myquery, function(err, obj) {
    if (err) throw err;
  });

推荐阅读