Как суммировать сумму в MongoDB, чтобы получить общий счет?

Для некоторой коллекции с полем { wins: Number } , как я могу использовать структуру агрегации MongoDB, чтобы получить общее количество побед во всех документах в коллекции?

Пример:

Если у меня есть 3 документа с wins: 5 , wins: 8 , wins: 12 соответственно, как я могу использовать Framework Aggregation Framework от MongoDB, чтобы вернуть общее число, то есть total: 25 .

сумма

Чтобы получить сумму сгруппированного поля при использовании структуры агрегирования MongoDB, вам нужно использовать $group и $sum :

 db.characters.aggregate([ { $group: { _id: null, total: { $sum: "$wins" } } } ] ) 

В этом случае, если вы хотите получить сумму всех wins , вам нужно обратиться к имени поля, используя синтаксис $wins as $wins который только извлекает значения поля wins из сгруппированных документов и суммирует их вместе.

подсчитывать

Вы также можете sum другие значения, передав определенное значение (как вы сделали в своем комментарии). Если у тебя есть

{ "$sum" : 1 } ,

на самом деле это будет счет всех wins , а не итог.

  • Как выглядит заголовок zlib?
  • Поиск по нескольким коллекциям в MongoDB
  • Инициализировать определение вложенной структуры в Голанге
  • Структура объекта C ++ в памяти Vs a Struct
  • Структура агрегации Mongodb: используется ли индекс использования группы?
  • Реализация комментариев и комментариев в базе данных
  • Алгоритм анаграммы в java
  • итерация вектора, удаление некоторых элементов, как я иду
  • Наследование структуры в C ++
  • Согласование структуры агрегации mongodb по вложенным документам
  • Экспорт структуры агрегации mongodb в новую коллекцию
  • Давайте будем гением компьютера.