Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Polecenie distinct służy do znajdowania unikatowych wartości dla określonego pola w pojedynczej kolekcji. To polecenie jest przydatne, gdy konieczne jest zidentyfikowanie zestawu unikatowych wartości dla pola bez pobierania wszystkich dokumentów lub wykonywania operacji, takich jak filtrowanie lub grupowanie na podstawie unikatowych wartości.
Składnia
Podstawowa składnia distinct polecenia jest następująca:
db.collection.distinct(field, query, options)
-
field: pole, które odbiera zwrócone unikatowe wartości. -
query: opcjonalne. Zapytanie określające dokumenty, z których mają być pobierane odrębne wartości. -
options: opcjonalne. Inne opcje polecenia.
Przykłady
Oto przykłady użycia podanej przykładowej struktury JSON.
Przykład 1. Znajdowanie odrębnych kategorii w sprzedaży
Aby znaleźć unikatowe categoryName nazwy w tablicy salesByCategory :
db.stores.distinct("sales.salesByCategory.categoryName")
Przykładowe dane wyjściowe
[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
]
Przykład 2. Znajdowanie unikatowych nazw zdarzeń w zdarzeniach podwyższania poziomu
Aby znaleźć unikatowe eventName nazwy w tablicy promotionEvents :
db.stores.distinct("promotionEvents.eventName")
Przykładowe dane wyjściowe
[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 }
]
}
]
Przykład 3. Znajdowanie odrębnych wartości procentowych rabatu dla określonego zdarzenia
Aby znaleźć distinct discountPercentage w tablicy discounts dla zdarzenia "Summer Sale":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Przykładowe dane wyjściowe
[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
]
Treści powiązane
- Przejrzyj opcje migrowania z bazy danych MongoDB do usługi Azure DocumentDB
- Przeczytaj więcej na temat zgodności funkcji z bazą danych MongoDB