Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De distinct opdracht wordt gebruikt om de unieke waarden voor een opgegeven veld in één verzameling te vinden. Deze opdracht is handig wanneer u de set afzonderlijke waarden voor een veld moet identificeren zonder alle documenten op te halen of wanneer u bewerkingen moet uitvoeren, zoals filteren of groeperen op basis van unieke waarden.
Syntaxis
De basissyntaxis van de distinct opdracht is als volgt:
db.collection.distinct(field, query, options)
-
field: Het veld dat de geretourneerde afzonderlijke waarden ontvangt. -
query: optioneel. Een query waarmee de documenten worden opgegeven waaruit de afzonderlijke waarden moeten worden opgehaald. -
options: optioneel. Andere opties voor de opdracht.
Voorbeelden
Hier volgen voorbeelden met behulp van de opgegeven JSON-voorbeeldstructuur.
Voorbeeld 1: Afzonderlijke categorieën zoeken in verkoop
Ga als volgende te werk om het verschil categoryName in de salesByCategory matrix te vinden:
db.stores.distinct("sales.salesByCategory.categoryName")
Voorbeelduitvoer
[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
]
Voorbeeld 2: Afzonderlijke gebeurtenisnamen zoeken in promotieevenementen
Ga als volgende te werk om het verschil eventName in de promotionEvents matrix te vinden:
db.stores.distinct("promotionEvents.eventName")
Voorbeelduitvoer
[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 }
]
}
]
Voorbeeld 3: Afzonderlijke kortingspercentages voor een specifieke gebeurtenis zoeken
U vindt het verschil discountPercentage in de discounts matrix voor de gebeurtenis 'Zomerverkoop':
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Voorbeelduitvoer
[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
]
Verwante inhoud
- Bekijk de opties voor migreren van MongoDB naar Azure DocumentDB
- Meer informatie over functiecompatibiliteit met MongoDB