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 i
To get the sum of a grouped field when using the Aggregation Framework of MongoDB, you'll need to use $group and $sum:
db.characters.aggregate([ {
$group: {
_id: null,
total: {
$sum: "$wins"
}
}
} ] )
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 the wins field from the grouped documents and sums them together.
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.