Mongodb: hoe de som van een veld te berekenen
U kunt de volgende methoden gebruiken om de som van waarden in een veld in MongoDB te berekenen:
Methode 1: Bereken de som van het veld
db.collection.aggregate([{ $group : {_id: null , sum_val:{$sum: " $valueField "}}}])
Methode 2: bereken de som van de velden per groep
db.collection.aggregate([{ $group : {_id: " $groupField ", sum_val:{$sum: " $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 de som van het veld
We kunnen de volgende code gebruiken om de som van de waarden in het puntenveld te berekenen:
db.teams.aggregate([{ $group : {_id: null , sum_val:{$sum: " $points "}}}])
Deze query retourneert de volgende resultaten:
{ _id: null , sum_val: 130}
Uit de resultaten kunnen we zien dat de som van de waarden in het puntenveld 130 is.
We kunnen handmatig verifiëren dat dit correct is door handmatig de som van de puntwaarden te berekenen:
Totaal aantal punten: 30 + 30 + 20 + 25 + 25 = 130 .
Voorbeeld 2: bereken de som van de velden per groep
We kunnen de volgende code gebruiken om de som van de waarden in het puntenveld te berekenen, gegroepeerd op het teamveld :
db.teams.aggregate([{ $group : {_id: " $team ", sum_val:{$sum: " $points "}}}])
Deze query retourneert de volgende resultaten:
{ _id: ' Spurs ', sum_val: 60 } { _id: ' Mavs ', sum_val: 70 }
Uit de resultaten kunnen we zien:
- Het totaal aantal punten voor Spurs is 60 .
- Het totaal aantal punten voor de Mavs is 70 .
Opmerking : u kunt hier de volledige documentatie voor de functie $sum vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in MongoDB kunt uitvoeren:
Hoe de mediaanwaarde in MongoDB te berekenen
Hoe de gemiddelde waarde in MongoDB te berekenen
Hoe de maximale waarde in MongoDB te berekenen