MongoDB: запрос в среднем с оператором $ expr - PullRequest
0 голосов
/ 07 марта 2019

Я хотел бы запросить документы на основе вычисленного среднего двух значений.

, например

db.test.insert([
  { "_id": 1, "category": "food", "budget": 400, "spent": 450 },
  { "_id": 2, "category": "drinks", "budget": 100, "spent": 150 },
  { "_id": 3, "category": "clothes", "budget": 100, "spent": 50 },
])

Например, как мне получить документы, среднее значение которых между бюджетом и затраченным больше 100?

1 Ответ

0 голосов
/ 07 марта 2019

Использование $avg и $gt:

db.test.find( { $expr: { $gt: [{$avg: [ "$spent", "$budget" ] }, 100] } } )
{ "_id" : 1, "category" : "food", "budget" : 400, "spent" : 450 }
{ "_id" : 2, "category" : "drinks", "budget" : 100, "spent" : 150 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...