Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O distinct comando é usado para encontrar os valores únicos de um campo especificado numa única coleção. Este comando é útil quando precisa de identificar o conjunto de valores distintos para um campo sem ter de recuperar todos os documentos ou quando precisa de realizar operações como filtragem ou agrupamento com base em valores únicos.
Sintaxe
A sintaxe básica do distinct comando é a seguinte:
db.collection.distinct(field, query, options)
-
field: O campo que recebe os valores distintos devolvidos. -
query: Opcional. Uma consulta que especifica os documentos a partir dos quais recuperar os valores distintos. -
options: Opcional. Outras opções para o comando.
Examples
Aqui estão exemplos usando a estrutura JSON de exemplo fornecida.
Exemplo 1: Encontre categorias distintas nas vendas
Para encontrar a distinção categoryName no salesByCategory array:
db.stores.distinct("sales.salesByCategory.categoryName")
Saída da amostra
[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
]
Exemplo 2: Encontre nomes distintos de eventos em eventos promocionais
Para encontrar a distinção eventName no promotionEvents array:
db.stores.distinct("promotionEvents.eventName")
Saída da amostra
[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 }
]
}
]
Exemplo 3: Encontre percentagens de desconto distintas para um evento específico
Para encontrar a distinção discountPercentage no discounts conjunto do evento "Summer Sale":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Saída da amostra
[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
]
Conteúdo relacionado
- Revisar opções para migrar de MongoDB para Azure DocumentDB
- Leia mais sobre compatibilidade de funcionalidades com o MongoDB