首页 > 解决方案 > Mongo:如何过滤掉匹配两个不匹配的记录?

问题描述

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

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

我必须看到

但看不到

我想按原样编写查询:

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

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

标签: mongodb

解决方案


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

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

Mongo游乐场


推荐阅读