MongoDB : Comment compter les valeurs distinctes dans un champ



Vous pouvez utiliser les méthodes suivantes pour compter les valeurs distinctes dans un champ spécifique dans MongoDB :

Méthode 1 : Rechercher une liste de valeurs distinctes

db.collection.distinct('field_name')

Méthode 2 : Trouver le nombre de valeurs distinctes

db.collection.distinct('field_name').length

Les exemples suivants montrent comment utiliser chaque méthode avec une équipe de collecte avec les documents suivants :

db.teams.insertOne({team: "Mavs", position: "Guard", points: 31})
db.teams.insertOne({team: "Mavs", position: "Guard", points: 22})
db.teams.insertOne({team: "Rockets", position: "Center", points: 19})
db.teams.insertOne({team: "Rockets", position: "Forward", points: 26})
db.teams.insertOne({team: "Cavs", position: "Guard", points: 33})

Exemple 1 : Rechercher une liste de valeurs distinctes

Nous pouvons utiliser le code suivant pour trouver une liste de valeurs distinctes dans le champ « équipe » :

db.teams.distinct('team')

Cette requête renvoie le résultat suivant :

[ 'Cavs', 'Mavs', 'Rockets' ]

Le résultat montre les trois noms d’équipe distincts de tous les documents.

On pourrait également utiliser le code suivant pour trouver une liste de valeurs distinctes dans le champ « position » :

db.teams.distinct('position')

Cette requête renvoie le résultat suivant :

[ 'Center', 'Forward', 'Guard' ]

Remarque : MongoDB trie les valeurs distinctes par ordre alphabétique par défaut.

Exemple 2 : Trouver le nombre de valeurs uniques

On peut utiliser le code suivant pour compter le nombre de valeurs distinctes dans le champ « équipe » :

db.teams.distinct('team').length

Cette requête renvoie le résultat suivant :

3

Cela nous indique qu’il y a 3 valeurs distinctes dans le champ « équipe ».

On peut également utiliser le code suivant pour compter le nombre de valeurs uniques dans le champ « points » :

db.teams.distinct('points').length

Cette requête renvoie le résultat suivant :

5

Cela nous indique qu’il y a 5 valeurs distinctes dans le champ « points ».

Remarque : Vous pouvez trouver la documentation complète de la fonction distincte ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes dans MongoDB :

MongoDB : Comment regrouper par et compter
MongoDB : Comment regrouper par plusieurs champs
MongoDB : Comment trouver la valeur maximale dans une collection

Ajouter un commentaire

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