1

我们的文档有 2 个字段:类型(字符串)和代码(整数)

我必须提取所有记录,但排除两个条件都为真的所有记录

  • 类型:“实时出价”
  • 代码:23

我必须看到

  • MTK 23
  • 实时出价 20

但看不到

  • 实时出价 23

我想按原样编写查询:

{ 
  $not:  { 
           $type: "RTB",
           $code: 23 
         } 
}

但是不允许将 $not 用作顶级...

4

1 回答 1

1

而不是$not你可以使用$ne运算符

db.collection.find({
  "$expr": {
    "$not": {
      "$and": [
        { "$eq": ["$type", "RTB"] },
        { "$eq": ["$code", 23] }
      ]
    }
  }
})

Mongo游乐场

于 2019-07-16T10:49:33.687 回答