【发布时间】:2018-08-18 12:00:44
【问题描述】:
我需要找到一个文档,其中“组件”不存在,或者如果存在,其 id 为 1111 且 isActive 为真且“问题”不存在,或者其 id 为 1111 且 isActive 为真。
示例: 文档 1:////这包含“组件”但不包含“问题”
{..
"components" : [
{
"id" : "1111",
"name" : "component1",
"isActive" : true
}
],
}
文档 2://this 包含“问题”但不包含“组件”
{..
"issues" : [
{
"id" : "1111",
"name" : "issue 1",
"isActive" : true
}
],
..}
文档 3://这两者都没有
查询:
db.sample.find({
"issues":{$in:[null, {"$elemMatch" : {"id":"1111","isActive": {"$in":[true,null]}}}]},
"components":{$in:[null, {"$elemMatch" : {"id":"1111","isActive": {"$in":[true,null]}}}]}
})
但我收到一个错误,“errmsg”:“不能在 $in 下嵌套 $”,
请帮助形成返回所有上述 3 个文档的查询。
【问题讨论】:
标签: mongodb-query