0

我有一个文档,我试图用聚合函数创建的行进行过滤,如下所示:

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

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

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

我怎么能使用聚合函数来只选择importantVal1>importantVal2的行?

我目前正在尝试类似的东西:

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

但它什么也不返回

4

1 回答 1

0

尝试这个 :

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

查看$expr了解更多信息。

于 2020-04-28T15:24:39.407 回答