MongoDB : Comment calculer la valeur moyenne d’un champ
Vous pouvez utiliser les méthodes suivantes pour calculer la valeur moyenne d’un champ dans MongoDB :
Méthode 1 : calculer la moyenne du champ
db.collection.aggregate([{$group: {_id:null, avg_val:{$avg:"$valueField"}}}])
Méthode 2 : calculer la moyenne du champ par groupe
db.collection.aggregate([{$group: {_id:"$groupField", avg_val:{$avg:"$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 moyenne du champ
Nous pouvons utiliser le code suivant pour calculer la valeur moyenne du champ de points :
db.teams.aggregate([{$group: {_id:null, avg_val:{$avg:"$points"}}}])
Cette requête renvoie les résultats suivants :
{ _id: null, avg_val: 26 }
D’après les résultats, nous pouvons voir que la valeur moyenne dans le champ des points est de 26 .
Nous pouvons vérifier manuellement que cela est correct en calculant manuellement la moyenne des valeurs de points :
Moyenne des points : (30 + 30 + 20 + 25 + 25) / 5 = 26 .
Exemple 2 : calculer la moyenne du champ par groupe
Nous pouvons utiliser le code suivant pour calculer la valeur moyenne du champ de points , regroupé par le champ d’équipe :
db.teams.aggregate([{$group: {_id:"$team", avg_val:{$avg:"$points"}}}])
Cette requête renvoie les résultats suivants :
{ _id: 'Spurs', avg_val: 23.333333333333332 } { _id: 'Mavs', avg_val: 30 }
D’après les résultats, nous pouvons voir :
- La valeur moyenne des points pour les Spurs est de 23,33 .
- La valeur moyenne des points pour les Mavs est de 30 .
Remarque : Vous pouvez trouver la documentation complète de la fonction $avg ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans MongoDB :
MongoDB : Comment ajouter un nouveau champ
MongoDB : Comment supprimer un champ
MongoDB : Comment regrouper par et compter
MongoDB : Comment regrouper par plusieurs champs