Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команда distinct используется для поиска уникальных значений для указанного поля в одной коллекции. Эта команда полезна, если необходимо определить набор уникальных значений для поля, не извлекая все документы или когда необходимо выполнять такие операции, как фильтрация или группирование на основе уникальных значений.
Синтаксис
Базовый синтаксис distinct команды выглядит следующим образом:
db.collection.distinct(field, query, options)
-
field: поле, получающее возвращаемые уникальные значения. -
query:Необязательный. Запрос, указывающий документы, из которых необходимо получить различные значения. -
options:Необязательный. Другие параметры команды.
Примеры
Ниже приведены примеры использования предоставленной структуры JSON.
Пример 1. Поиск отдельных категорий в продажах
Чтобы найти отличия categoryName в массиве salesByCategory , выполните следующие действия.
db.stores.distinct("sales.salesByCategory.categoryName")
Пример полученных результатов
[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
]
Пример 2. Поиск отдельных имен событий в событиях продвижения
Чтобы найти отличия eventName в массиве promotionEvents , выполните следующие действия.
db.stores.distinct("promotionEvents.eventName")
Пример полученных результатов
[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 }
]
}
]
Пример 3. Поиск отдельных процентных скидок для конкретного события
Чтобы найти отличия discountPercentage в массиве discounts для события "Летняя продажа", выполните следующие действия:
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Пример полученных результатов
[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
]
Связанный контент
- Просмотр параметров миграции из MongoDB в Azure DocumentDB
- Дополнительные сведения о совместимости компонентов с MongoDB