Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El distinct comando se usa para buscar los valores únicos de un campo especificado en una sola colección. Este comando es útil cuando necesita identificar el conjunto de valores distintos para un campo sin recuperar todos los documentos o cuando necesite realizar operaciones como filtrar o agrupar en función de valores únicos.
Syntax
La sintaxis básica del distinct comando es la siguiente:
db.collection.distinct(field, query, options)
-
field: el campo que recibe los valores distintos devueltos. -
query:Opcional. Consulta que especifica los documentos de los que se van a recuperar los valores distintos. -
options:Opcional. Otras opciones para el comando.
Examples
Estos son ejemplos con la estructura JSON de ejemplo proporcionada.
Ejemplo 1: Buscar categorías distintas en ventas
Para buscar los distintos categoryName en la salesByCategory matriz:
db.stores.distinct("sales.salesByCategory.categoryName")
Salida de ejemplo
[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
]
Ejemplo 2: Buscar nombres de eventos distintos en eventos de promoción
Para buscar los distintos eventName en la promotionEvents matriz:
db.stores.distinct("promotionEvents.eventName")
Salida de ejemplo
[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 }
]
}
]
Ejemplo 3: Buscar porcentajes de descuento distintos para un evento específico
Para buscar los distintos discountPercentage en la discounts matriz para el evento "Summer Sale":
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Salida de ejemplo
[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
]
Contenido relacionado
- Revisión de las opciones para migrar de MongoDB a Azure DocumentDB
- Más información sobre la compatibilidad de características con MongoDB