Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La distinct commande est utilisée pour rechercher les valeurs uniques d’un champ spécifié dans une collection unique. Cette commande est utile lorsque vous devez identifier l’ensemble de valeurs distinctes d’un champ sans récupérer tous les documents ou lorsque vous devez effectuer des opérations telles que le filtrage ou le regroupement en fonction de valeurs uniques.
Syntaxe
La syntaxe de base de la distinct commande est la suivante :
db.collection.distinct(field, query, options)
-
field: champ qui reçoit les valeurs distinctes retournées. -
query:Optionnel. Requête qui spécifie les documents à partir desquels récupérer les valeurs distinctes. -
options:Optionnel. Autres options pour la commande.
Examples
Voici des exemples utilisant l’exemple de structure JSON fourni.
Exemple 1 : Rechercher des catégories distinctes dans les ventes
Pour rechercher les éléments distincts categoryName dans le salesByCategory tableau :
db.stores.distinct("sales.salesByCategory.categoryName")
Exemple de sortie
[mongos] StoreData> db.stores.distinct("sales.salesByCategory.categoryName")
[
{
_id: 'Discount Derby',
discounts: [
{ categoryName: 'Bath Sheets', discountPercentage: 25 },
{ categoryName: 'Tablecloths', discountPercentage: 25 },
{ categoryName: 'Drapes', discountPercentage: 25 }
]
}
]
[mongos] StoreData> db.stores.distinct("sales.salesByCategory.categoryName")
[
'Music Theory Books',
'Superfoods',
'Harmonicas',
'Garden Tools',
... 883 more items
]
Exemple 2 : Rechercher des noms d’événements distincts dans les événements de promotion
Pour rechercher les éléments distincts eventName dans le promotionEvents tableau :
db.stores.distinct("promotionEvents.eventName")
Exemple de sortie
[mongos] StoreData> db.stores.distinct("promotionEvents.eventName")
[
{
_id: 'Super Saver Celebration',
discounts: [
{ categoryName: 'Face Towels', discountPercentage: 25 },
{ categoryName: 'Printer Ribbons', discountPercentage: 25 },
{ categoryName: 'Chromebooks', discountPercentage: 25 }
]
}
]
Exemple 3 : Rechercher des pourcentages de remise distincts pour un événement spécifique
Pour trouver la différence discountPercentage dans le discounts tableau de l’événement « Summer Sale » :
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Exemple de sortie
[mongos] StoreData> db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
[
6, 17, 22, 25, 9, 15, 14,
7, 12, 19, 24, 5, 20, 10,
23, 16, 18, 21, 13, 11, 8
]
Contenu connexe
- Passer en revue les options de migration de MongoDB vers Azure DocumentDB
- En savoir plus sur la compatibilité des fonctionnalités avec MongoDB