Как мне суммировать два поля в Mongoshell? - PullRequest
0 голосов
/ 23 октября 2019

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

db.Purchases.find( {}, { store: 1, total: 1, _id: 0 } ).sort( { "store" : 1} ) =

{ "store" : DBRef("Location", ObjectId("5dae22702486f7d89ba7633c")), "total" : "$1500" }
{ "store" : DBRef("Location", ObjectId("5dae227f2486f7d89ba7633d")), "total" : "$156.88" }
{ "store" : DBRef("Location", ObjectId("5dae22992486f7d89ba7633e")), "total" : "$1510" }
{ "store" : DBRef("Location", ObjectId("5dae22992486f7d89ba7633e")), "total" : "$3000" }
{ "store" : DBRef("Location", ObjectId("5dae22cd2486f7d89ba76340")), "total" : "$156.88" }

Мне нужно сложить итоги с выходных данных 3 и 4 (то есть 1510 и 3000 долларов) и отобразить результат в виде одной строкина выходе по всем другим выходам. Как мне это сделать?

1 Ответ

0 голосов
/ 29 октября 2019

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

db.Purchases.aggregate(
   [
     {
       $group:
         {
           _id: "$store",
           totalAmount: { $sum: "$total"}
         }
     }
   ]
)

Наблюдение : сумма должна быть числовым типом в MongoDB.

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