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

Mongodb Mongo查询-获取与筛选器列表中指定值不完全匹配的记录,mongodb,mongodb-query,Mongodb,Mongodb Query,我试了一下,但是我找不到用相同的特定元素集来实现这一点的方法 我在db中有以下文件 { sys_cd : ["A","B"] }, { sys_cd : ["A", "S"] }, { sys_cd : ["A","B","S"] }, { sys_cd : ["A"] }, { sys_cd : ["B&q

我试了一下,但是我找不到用相同的特定元素集来实现这一点的方法

我在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"]
}
 
我尝试了元素匹配,但不起作用。。有没有办法做到这一点?请帮助..

尝试运算符,并添加数组列表

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

尝试运算符,并添加数组列表

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

让inputArray=[“A”,“B”];//或[“B”、“A”]
db.myCollection.find({
系统光盘:{
$elemMatch:{
$nin:输入阵列
}
}
})
试试这个:

让inputArray=[“A”,“B”];//或[“B”、“A”]
db.myCollection.find({
系统光盘:{
$elemMatch:{
$nin:输入阵列
}
}
})

Hi Vishal gr8回答,但是场景如何呢
[“B”,“A”]
?输入数组反向?我认为最好在客户端生成两种可能性,并传入
$nin
。您好,Vishal gr8回答,但是场景如何
[“B”,“A”]
?输入数组反转?我认为最好在客户端生成两种可能性,并传入
$nin