Mongo查询-获取的记录与过滤器列表中的指定值不完全匹配



我试了一下,但我找不到用相同的特定元素集做到这一点的方法。

我有以下文档在db,

{
sys_cd : ["A","B"]
},
{
sys_cd : ["A", "S"]
},
{
sys_cd : ["A","B","S"]
},
{
sys_cd : ["A"]
},
{
sys_cd : ["B","S"]
},
{
sys_cd : ["S"]
}

我想要一个查询,只返回以下记录,任何文档包含值以外的a, B, a &B应该返回

{
sys_cd : ["A", "S"]
},
{
sys_cd : ["A","B","S"]
},
{
sys_cd : ["B","S"]
},
{
sys_cd : ["S"]
}

我尝试与元素匹配,但它不工作。有办法做到这一点吗?请帮. .

试试这个:

let inputArray = ["A", "B"]; // or ["B", "A"]
db.myCollection.find({
sys_cd: {
$elemMatch: {
$nin: inputArray
}
}
})

尝试$nin操作符,并添加数组列表,

db.collection.find({
sys_cd: {
$nin: [
["A"],
["B"],
["A", "B"]
]
}
})

游乐场

最新更新