¿Cómo agregar sum en MongoDB para obtener un conteo total?

Para alguna colección con un campo { wins: Number } , ¿cómo podría usar MongoDB Aggregation Framework para obtener el número total de ganancias en todos los documentos de una colección?

Ejemplo:

Si tengo 3 documentos con wins: 5 , wins: 8 , wins: 12 respectivamente, ¿cómo podría usar MongoDB Aggregation Framework para devolver el número total, es decir, total: 25 .

Suma

Para obtener la sum de un campo agrupado al usar el Marco de Agregación de MongoDB, necesitará usar $group y $sum :

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

En este caso, si desea obtener la sum de todas las wins , necesita referirse al nombre del campo usando la syntax $wins como $wins que solo recupera los valores del campo de wins de los documentos agrupados y los sum.

Contar

También puede sum otros valores al pasar un valor específico (como lo hizo en su comentario). Si tuvieras

{ "$sum" : 1 } ,

eso realmente sería un recuento de todas las wins , en lugar de un total.