mongodb - MONGO - 知道输入数组的所有元素是否都在 mongoDB 中
问题描述
我对 mongo 查询有疑问。我有下一个收藏。
"id" : "TEST"
"client" : "0048948",
"contracts" : [
{
"contractNumberId" : "contractNumber1",
"otherField" : "XXXXX",
"contractFormats" : [
{
"formatId" : "format12"
},
{
"formatId" : "format10"
}
]
},{
"contractNumberId" : "contractNumber2",
"otherField" : "XXXXX",
"contractFormats" : [
{
"formatId" : "format12"
},
{
"formatId" : "format15"
}
]
}
]
我想搜索是否有一个集合,其中包含传递给我的一组合同或格式的所有值。例如,如果在我的输入中我有下一个合同或格式 [contractNumber1, format15] 我的查询应该返回 true,因为我在我的数据库中以合同或格式找到了它,但是如果例如 mi 输入是 [contractNumbe1, format50, contract3, 10],我的查询应该返回 false,因为我的数据库的任何文档都匹配输入的所有出现在任何文档中。
查询应该在合约和格式中找到输入数组的所有输入值。
任何人都可以帮助我吗?我尝试过使用 $elemMatch、$nor 和 $in、$unwind,但结果并不令人满意。
感谢大家的时间。
解决方案
推荐阅读
- hapijs - 如何在 Hapi/Glue/Compose 中使用密码?
- python - 使用先前索引进行 for 循环计算的问题
- python - 如何将 url 中的变量传递给 Django 列表视图
- html - 如何制作显示图像的按钮
- c# - C# DatagridView 在验证期间更改单元格中输入的文本
- ios-simulator - Xcode 10 iOS模拟器减慢整个系统
- alexa - 如果我错过了话语中的参数,如何让 Alexa 提示我提供更多信息?
- php - 创建 DNS A 记录
- kubernetes - 当其中一个区域完全中断时,我们将 eviction qps 更新为该区域的哪个值
- c# - 用逗号分割每 500 个值的字符串