Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il distinct comando viene usato per trovare i valori univoci per un campo specificato in una singola raccolta. Questo comando è utile quando è necessario identificare il set di valori distinti per un campo senza recuperare tutti i documenti o quando è necessario eseguire operazioni come il filtro o il raggruppamento in base a valori univoci.
Sintassi
La sintassi di base del distinct comando è la seguente:
db.collection.distinct(field, query, options)
-
field: campo che riceve i valori distinti restituiti. -
query:Opzionale. Query che specifica i documenti da cui recuperare i valori distinti. -
options:Opzionale. Altre opzioni per il comando.
Esempi
Ecco alcuni esempi che usano la struttura JSON di esempio fornita.
Esempio 1: Trovare categorie distinte nelle vendite
Per trovare l'elemento distinct categoryName nella salesByCategory matrice:
db.stores.distinct("sales.salesByCategory.categoryName")
Output di esempio
[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
]
Esempio 2: Trovare nomi di eventi distinti negli eventi promozionali
Per trovare l'elemento distinct eventName nella promotionEvents matrice:
db.stores.distinct("promotionEvents.eventName")
Output di esempio
[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 }
]
}
]
Esempio 3: Trovare percentuali di sconto distinte per un evento specifico
Per trovare l'elemento distinto discountPercentage nella discounts matrice per l'evento "Summer Sale":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Output di esempio
[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
]
Contenuti correlati
- Esaminare le opzioni per la migrazione da MongoDB ad Azure DocumentDB
- Altre informazioni sulla compatibilità delle funzionalità con MongoDB