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

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *