Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O distinct comando é usado para localizar os valores exclusivos de um campo especificado em uma única coleção. Esse comando é útil quando você precisa identificar o conjunto de valores distintos para um campo sem recuperar todos os documentos ou quando você precisa executar operações como filtragem ou agrupamento com base em valores exclusivos.
Sintaxe
A sintaxe básica do comando é a distinct seguinte:
db.collection.distinct(field, query, options)
-
field: o campo que recebe os valores distintos retornados. -
query: opcional. Uma consulta que especifica os documentos dos quais recuperar os valores distintos. -
options: opcional. Outras opções para o comando.
Exemplos
Aqui estão exemplos usando a estrutura JSON de exemplo fornecida.
Exemplo 1: localizar categorias distintas em vendas
Para localizar o distinto categoryName na salesByCategory matriz:
db.stores.distinct("sales.salesByCategory.categoryName")
Saída de exemplo
[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: localizar nomes de eventos distintos em eventos de promoção
Para localizar o distinto eventName na promotionEvents matriz:
db.stores.distinct("promotionEvents.eventName")
Saída de exemplo
[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: localizar percentuais de desconto distintos para um evento específico
Para localizar o distinto discountPercentage na discounts matriz do evento "Venda de Verão":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Saída de exemplo
[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
- Examinar as opções de migração do MongoDB para o Azure DocumentDB
- Leia mais sobre a compatibilidade de recursos com o MongoDB