Mongodb: hoe de gemiddelde waarde van een veld te berekenen
U kunt de volgende methoden gebruiken om de gemiddelde waarde van een veld in MongoDB te berekenen:
Methode 1: Bereken het veldgemiddelde
db.collection.aggregate([{ $group : {_id: null , avg_val:{$avg: " $valueField "}}}])
Methode 2: Bereken het veldgemiddelde per groep
db.collection.aggregate([{ $group : {_id: " $groupField ", avg_val:{$avg: " $valueField "}}}])
De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met een incassoteam met de volgende documenten:
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})
Voorbeeld 1: Bereken het veldgemiddelde
We kunnen de volgende code gebruiken om de gemiddelde waarde van het puntenveld te berekenen:
db.teams.aggregate([{ $group : {_id: null , avg_val:{$avg: " $points "}}}])
Deze query retourneert de volgende resultaten:
{ _id: null , avg_val: 26 }
Uit de resultaten kunnen we zien dat de gemiddelde waarde in het puntenveld 26 is.
We kunnen handmatig verifiëren dat dit correct is door de puntwaarden handmatig te middelen:
Gemiddelde punten: (30 + 30 + 20 + 25 + 25) / 5 = 26 .
Voorbeeld 2: bereken het veldgemiddelde per groep
We kunnen de volgende code gebruiken om de gemiddelde waarde van het puntenveld te berekenen, gegroepeerd op teamveld :
db.teams.aggregate([{ $group : {_id: " $team ", avg_val:{$avg: " $points "}}}])
Deze query retourneert de volgende resultaten:
{ _id: ' Spurs ', avg_val: 23.333333333333332 } { _id: ' Mavs ', avg_val: 30 }
Uit de resultaten kunnen we zien:
- De gemiddelde puntenwaarde voor de Spurs is 23,33 .
- De gemiddelde puntenwaarde voor de Mav’s is 30 .
Opmerking : u kunt hier de volledige documentatie voor de functie $avg vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in MongoDB kunt uitvoeren:
MongoDB: Hoe u een nieuw veld toevoegt
MongoDB: Hoe een veld te verwijderen
MongoDB: Groeperen op en tellen
MongoDB: groeperen op meerdere velden