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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert