Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A distinct parancs egy adott mező egyedi értékeinek megkeresésére szolgál egyetlen gyűjteményben. Ez a parancs akkor hasznos, ha egy mező különböző értékeit kell azonosítania az összes dokumentum beolvasása nélkül, vagy ha olyan műveleteket kell végrehajtania, mint a szűrés vagy a csoportosítás egyedi értékek alapján.
Szemantika
A parancs alapszintaxisa a distinct következő:
db.collection.distinct(field, query, options)
-
field: A visszaadott eltérő értékeket fogadó mező. -
query: Nem kötelező. Lekérdezés, amely meghatározza azokat a dokumentumokat, amelyekből lekérheti a különböző értékeket. -
options: Nem kötelező. A parancs egyéb beállításai.
Példák
Az alábbi példák a megadott JSON-mintastruktúrát használják.
1. példa: Különböző kategóriák keresése az értékesítésekben
A tömbben található eltérő értékek categoryName megkeresése salesByCategory :
db.stores.distinct("sales.salesByCategory.categoryName")
Példakimenet
[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. példa: Különböző eseménynevek keresése a promóciós eseményekben
A tömbben található eltérő értékek eventName megkeresése promotionEvents :
db.stores.distinct("promotionEvents.eventName")
Példakimenet
[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. példa: Eltérő kedvezmény százalékos értékének megkeresése egy adott eseményhez
A "Summer Sale" esemény tömbjének discounts különbözőségeinek discountPercentage megkeresése:
db.stores.distinct("promotionEvents.discounts.discountPercentage", { "promotionEvents.eventName": "Incredible Discount Days" })
Példakimenet
[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
]
Kapcsolódó tartalom
- A MongoDB-ből az Azure DocumentDB-be való migrálás beállításainak áttekintése
- További információ a MongoDB-vel való funkciókompatibilitásról