我试了一下,但我找不到用相同的特定元素集做到这一点的方法。
我有以下文档在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"]
]
}
})
游乐场