For some collection with a field { wins: Number }
, how could I use MongoDB Aggregation Framework to get the total number of wins across all documents in a collection?
Example:
If I have 3 documents with wins: 5
, wins: 8
, wins: 12
respectively, how could I use MongoDB Aggregation Framework to return the total number, i.e. total: 25
.
Sum
To get the sum of a grouped field when using the Aggregation Framework of MongoDB, you'll need to use
$group
and$sum
:In this case, if you want to get the sum of all of the
wins
, you need to refer to the field name using the$
syntax as$wins
which just fetches the values of thewins
field from the grouped documents and sums them together.Count
You can
sum
other values as well by passing in a specific value (as you'd done in your comment). If you had{ "$sum" : 1 }
,that would actually be a count of all of the
wins
, rather than a total.