有没有一种方法可以通过该文档中的其他值来过滤MongoDB文档?

时间:2020-04-28 15:17:33

标签: mongodb mongodb-query pymongo mongo-collection

我有一个文档正在尝试使用由聚集函数创建的行进行过滤,该行如下所示:

{
   "_id": {
      "ID": "randNum01"
   },
   "ImportantVal1": 50,
   "importantVal2": 22
}

{
   "_id": {
      "ID": "randNum02"
   },
   "ImportantVal1": 40,
   "importantVal2": 100
}

{
   "_id": {
      "ID": "randNum03"
   },
   "ImportantVal1": 60,
   "importantVal2": 2
}

如何使用聚合函数只选择重要值1>重要值2的行?

我目前正在尝试以下操作:

{
   "$match": {
      "ImportantVal1": {
         "$gt": "$importantVal2"
      }
   }
}

但它什么也不返回

1 个答案:

答案 0 :(得分:0)

尝试一下:

{$match:{$expr:{$gt:["$ImportantVal1", "$ImportantVal2"]}}}

查看$expr了解更多信息。