MongoDB : Comment calculer la somme d’un champ
Vous pouvez utiliser les méthodes suivantes pour calculer la somme des valeurs dans un champ dans MongoDB :
Méthode 1 : calculer la somme du champ
db.collection.aggregate([{$group: {_id:null, sum_val:{$sum:"$valueField"}}}])
Méthode 2 : calculer la somme des champs par groupe
db.collection.aggregate([{$group: {_id:"$groupField", sum_val:{$sum:"$valueField"}}}])
Les exemples suivants montrent comment utiliser chaque méthode avec une équipe de collecte avec les documents suivants :
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})
Exemple 1 : calculer la somme du champ
Nous pouvons utiliser le code suivant pour calculer la somme des valeurs dans le champ points :
db.teams.aggregate([{$group: {_id:null, sum_val:{$sum:"$points"}}}])
Cette requête renvoie les résultats suivants :
{ _id: null, sum_val: 130}
D’après les résultats, nous pouvons voir que la somme des valeurs dans le champ des points est de 130 .
Nous pouvons vérifier manuellement que cela est correct en calculant manuellement la somme des valeurs des points :
Somme des points : 30 + 30 + 20 + 25 + 25 = 130 .
Exemple 2 : calculer la somme des champs par groupe
Nous pouvons utiliser le code suivant pour calculer la somme des valeurs du champ points , regroupées par le champ équipe :
db.teams.aggregate([{$group: {_id:"$team", sum_val:{$sum:"$points"}}}])
Cette requête renvoie les résultats suivants :
{ _id: 'Spurs', sum_val: 60 } { _id: 'Mavs', sum_val: 70 }
D’après les résultats, nous pouvons voir :
- La somme de points pour les Spurs est de 60 .
- La somme des points pour les Mavs est de 70 .
Remarque : Vous pouvez trouver la documentation complète de la fonction $sum ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans MongoDB :
Comment calculer la valeur médiane dans MongoDB
Comment calculer la valeur moyenne dans MongoDB
Comment calculer la valeur maximale dans MongoDB