javascript - 如何通过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 中可以吗?
解决方案
您正在寻找$in
运营商。它匹配数组中的值。您可以在deleteMany
方法过滤器参数中使用它。
var ids = ["a12s", "33qq", "121a"];
var myquery = { _id: { $in: ids } };
dbo.collection("customers").deleteMany(myquery, function(err, obj) {
if (err) throw err;
});
推荐阅读
- vulkan - 如果已经添加到实例中,是否需要在创建时将启用的调试扩展和验证层添加到设备中?
- javafx - 展开项目时停止 JavaFX TreeView “跳跃”
- ios - 如何将自定义控件添加到表格视图的导航标题
- gcloud - 谷歌云运行崩溃(AttributeError):“NoneType”对象没有属性“图像”
- math - 从 1 到 N 的总位数是多少,使得数字中的奇数位数是偶数,而偶数位数不是奇数?
- ruby-on-rails - simple_form 嵌套表单选择包装器总是显示错误类
- c++ - 如何在c ++中返回函数的结构向量
- javascript - document.write() 的替代方案
- php - 如何让我雄辩的模型关系返回结果而不是空数组
- reactjs - 重构:使用 localStorage 保留 Nextjs 的原始状态?