Mongodb: so berechnen sie den durchschnittswert eines feldes
Sie können die folgenden Methoden verwenden, um den Durchschnittswert eines Felds in MongoDB zu berechnen:
Methode 1: Berechnen Sie den Felddurchschnitt
db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])
Methode 2: Berechnen Sie den Felddurchschnitt pro Gruppe
db.collection.aggregate([{ $group : {_id: " $groupField ", avg_val:{$avg: " $valueField "}}}])
Die folgenden Beispiele zeigen, wie die einzelnen Methoden mit einem Inkassoteam mit den folgenden Dokumenten verwendet werden:
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})
Beispiel 1: Berechnen Sie den Felddurchschnitt
Wir können den folgenden Code verwenden, um den Durchschnittswert des Punktfelds zu berechnen:
db.teams.aggregate([{ $group : {_id: null , avg_val:{$avg: " $points "}}}])
Diese Abfrage gibt die folgenden Ergebnisse zurück:
{ _id: null , avg_val: 26 }
Aus den Ergebnissen können wir ersehen, dass der Durchschnittswert im Punktefeld 26 beträgt.
Wir können manuell überprüfen, ob dies korrekt ist, indem wir die Punktwerte manuell mitteln:
Durchschnittliche Punkte: (30 + 30 + 20 + 25 + 25) / 5 = 26 .
Beispiel 2: Berechnen Sie den Felddurchschnitt pro Gruppe
Mit dem folgenden Code können wir den Durchschnittswert des Punktefelds , gruppiert nach dem Teamfeld , berechnen:
db.teams.aggregate([{ $group : {_id: " $team ", avg_val:{$avg: " $points "}}}])
Diese Abfrage gibt die folgenden Ergebnisse zurück:
{ _id: ' Spurs ', avg_val: 23.333333333333332 } { _id: ' Mavs ', avg_val: 30 }
Aus den Ergebnissen können wir sehen:
- Der durchschnittliche Punktwert der Spurs liegt bei 23,33 .
- Der durchschnittliche Punktwert für die Mavs beträgt 30 .
Hinweis : Die vollständige Dokumentation zur $avg -Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie Sie andere gängige Vorgänge in MongoDB ausführen:
MongoDB: So fügen Sie ein neues Feld hinzu
MongoDB: So löschen Sie ein Feld
MongoDB: So gruppieren und zählen
MongoDB: So gruppieren Sie nach mehreren Feldern