node.js - 通过 ID 数组检查文档是否存在
问题描述
如果具有该 ID 的文档不存在,我想返回 ID 数组。
架构是:
{
id: Number,
...
}
我有一个数组:
let queryArr = [id1, id2, ...]
例如,我有这个集合:
{
id: 1
},
{
id: 2
},
{
id: 3
}
并且queryArr
是[1,2,3,4,5]
所以,输出将是[4,5]
基本上,我将数组用于查询如下内容:
db.collection.find({
id: queryArr //IDK what to do here
});
解决方案
试试这个。另见$nin
db.collection.find({
id: {
$nin: [
4,
5
]
}
})
这将返回以下数据
[
{
"_id": ObjectId("5a934e000102030405000000"),
"id": 1
},
{
"_id": ObjectId("5a934e000102030405000001"),
"id": 2
},
{
"_id": ObjectId("5a934e000102030405000002"),
"id": 3
}
]
或者您可以使用$in来获取包含在数组中的 id 的文档
db.collection.find({
id: {
$in: [
4,
5
]
}
})
看游乐场
推荐阅读
- django - django-celery-beat 意外中断 django
- .net-core - 使用带有 .NetCore 的 Google OAuth 2.0 登录
- python - 如何将周期位数四舍五入?
- haskell - 镜头修改失败
- css - 我可以在不知道高度的情况下响应性地将 ::before 元素添加到它的父元素的顶部吗
- node.js - 尝试将页面添加到我的项目时,我在命令提示符下收到此错误 500
- php - 水平和动态连接表
- kotlin - 在 Kotlin 的换行符处打开花括号
- c# - 匹配整行的多行模式在 python 中有效,但在 C# 中无效
- c# - 在 IAsyncEnumerable 中让步的替代方法