MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come aggregare la somma in MongoDB per ottenere un conteggio totale?

Somma

Per ottenere la somma di un campo raggruppato quando utilizzi Aggregation Framework di MongoDB, dovrai usare $group e $sum :

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

In questo caso, se vuoi ottenere la somma di tutte le wins , devi fare riferimento al nome del campo usando il $ sintassi come $wins che recupera solo i valori delle wins campo dai documenti raggruppati e li somma insieme.

Conta

Puoi sum anche altri valori passando un valore specifico (come hai fatto nel tuo commento). Se avessi

{ "$sum" : 1 } ,

sarebbe effettivamente un conteggio di tutte le wins , anziché un totale.