Mongodb: come calcolare il valore medio di un campo


È possibile utilizzare i seguenti metodi per calcolare il valore medio di un campo in MongoDB:

Metodo 1: calcolare la media del campo

 db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])

Metodo 2: calcolare la media del campo per gruppo

 db.collection.aggregate([{ $group : {_id: " $groupField ", avg_val:{$avg: " $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 media del campo

Possiamo usare il seguente codice per calcolare il valore medio del campo punto :

 db.teams.aggregate([{ $group : {_id: null , avg_val:{$avg: " $points "}}}])

Questa query restituisce i seguenti risultati:

 { _id: null , avg_val: 26 }

Dai risultati, possiamo vedere che il valore medio nel campo punti è 26 .

Possiamo verificare manualmente che ciò sia corretto calcolando manualmente la media dei valori dei punti:

Punti medi: (30 + 30 + 20 + 25 + 25) / 5 = 26 .

Esempio 2: calcolare la media del campo per gruppo

Possiamo utilizzare il seguente codice per calcolare il valore medio del campo punti , raggruppato per campo squadra :

 db.teams.aggregate([{ $group : {_id: " $team ", avg_val:{$avg: " $points "}}}])

Questa query restituisce i seguenti risultati:

 { _id: ' Spurs ', avg_val: 23.333333333333332 }
{ _id: ' Mavs ', avg_val: 30 }

Dai risultati possiamo vedere:

  • Il valore medio dei punti per gli Spurs è 23,33 .
  • Il valore medio del punto per i Mavs è 30 .

Nota : puoi trovare la documentazione completa per la funzione $avg qui .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in MongoDB:

MongoDB: come aggiungere un nuovo campo
MongoDB: come eliminare un campo
MongoDB: come raggruppare e contare
MongoDB: come raggruppare per più campi

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *