Mongodb: come calcolare la somma di un campo
Puoi utilizzare i seguenti metodi per calcolare la somma dei valori in un campo in MongoDB:
Metodo 1: calcolare la somma del campo
db.collection.aggregate([{ $group : {_id: null , sum_val:{$sum: " $valueField "}}}])
Metodo 2: calcolare la somma dei campi per gruppo
db.collection.aggregate([{ $group : {_id: " $groupField ", sum_val:{$sum: " $valueField "}}}])
I seguenti esempi mostrano come utilizzare ciascun metodo con un team di raccolta con i seguenti documenti:
db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 8}) db.teams.insertOne({team: " Mavs ", points: 30, rebounds: 12}) db.teams.insertOne({team: " Spurs ", points: 20, rebounds: 7}) db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 5}) db.teams.insertOne({team: " Spurs ", points: 25, rebounds: 9})
Esempio 1: calcolare la somma del campo
Possiamo utilizzare il seguente codice per calcolare la somma dei valori nel campo punti :
db.teams.aggregate([{ $group : {_id: null , sum_val:{$sum: " $points "}}}])
Questa query restituisce i seguenti risultati:
{ _id: null , sum_val: 130}
Dai risultati possiamo vedere che la somma dei valori nel campo punto è 130 .
Possiamo verificare manualmente che ciò sia corretto calcolando manualmente la somma dei valori dei punti:
Somma dei punti: 30 + 30 + 20 + 25 + 25 = 130 .
Esempio 2: calcolare la somma dei campi per gruppo
Possiamo utilizzare il seguente codice per calcolare la somma dei valori nel campo punti , raggruppati per campo squadra :
db.teams.aggregate([{ $group : {_id: " $team ", sum_val:{$sum: " $points "}}}])
Questa query restituisce i seguenti risultati:
{ _id: ' Spurs ', sum_val: 60 } { _id: ' Mavs ', sum_val: 70 }
Dai risultati possiamo vedere:
- Il totale dei punti per gli Spurs è 60 .
- Il totale dei punti per i Mavs è 70 .
Nota : puoi trovare la documentazione completa per la funzione $sum qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre operazioni comuni in MongoDB:
Come calcolare il valore mediano in MongoDB
Come calcolare il valore medio in MongoDB
Come calcolare il valore massimo in MongoDB