Есть ли способ отфильтровать документ MongoDB по другим значениям в этом документе? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть документ, который я пытаюсь отфильтровать с помощью строк, созданных функциями агрегирования, которые выглядят следующим образом:

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

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

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

Как я могу использовать функцию агрегации, чтобы выбирать только те строки, где важныйVal1> важныйVal2?

Я сейчас пытаюсь что-то вроде:

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

, но ничего не возвращается

1 Ответ

0 голосов
/ 28 апреля 2020

Попробуйте это:

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

Проверьте $ expr для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...