Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Příkaz distinct slouží k vyhledání jedinečných hodnot pro zadané pole v jedné kolekci. Tento příkaz je užitečný, když potřebujete identifikovat sadu jedinečných hodnot pro pole, aniž byste museli načítat všechny dokumenty nebo když potřebujete provádět operace, jako je filtrování nebo seskupení na základě jedinečných hodnot.
Syntaxe
Základní syntaxe distinct příkazu je následující:
db.collection.distinct(field, query, options)
-
field: Pole, které přijímá vrácené jedinečné hodnoty. -
query: Volitelné. Dotaz, který určuje dokumenty, ze kterých se mají načíst jedinečné hodnoty. -
options: Volitelné. Další možnosti příkazu
Examples
Tady jsou příklady použití poskytnuté ukázkové struktury JSON.
Příklad 1: Vyhledání jedinečných kategorií v prodeji
Vyhledání jedinečných salesByCategory hodnot categoryName v poli:
db.stores.distinct("sales.salesByCategory.categoryName")
Ukázkový výstup
[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
]
Příklad 2: Vyhledání jedinečných názvů událostí v událostech povýšení
Vyhledání jedinečných promotionEvents hodnot eventName v poli:
db.stores.distinct("promotionEvents.eventName")
Ukázkový výstup
[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 }
]
}
]
Příklad 3: Vyhledání jedinečných procent slev pro konkrétní událost
Pokud chcete najít jedinečné hodnoty discountPercentage v discounts poli pro akci "Letní prodej":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Ukázkový výstup
[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
]
Související obsah
- Kontrola možností migrace z MongoDB do Azure DocumentDB
- Další informace o kompatibilitě funkcí s MongoDB