varios texto relacionar relacionados insertar ejemplo documentos consultas complejas colecciones buscar avanzado mongodb aggregation-framework

texto - ¿Cómo agregar suma en MongoDB para obtener un conteo total?



relacionar dos colecciones en mongodb (1)

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 suma 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 suma de todas las wins , necesita referirse al nombre del campo usando la sintaxis $wins como $wins que solo recupera los valores del campo de wins de los documentos agrupados y los suma.

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.