Mint minden adatbázisnál, az indexek alapvető adatstruktúrák a MongoDB-ben. Elősegítik az egyszerű adatbázis-lekérdezéseket, és lehetővé teszik a gyűjtemény egy részének tárolását és elrendezését egyedi mezőkben. Az indexek támogatják a tartomány-lekérdezést is gond nélkül.

Ha alkalmazása MongoDB-t használ, akkor az indexek erejét szeretné kihasználni, hogy gyorsabbá és hatékonyabbá tegye a lekérdezéseket. Tehát mik azok az indexek a MongoDB-ben, és hogyan hozhatja létre őket?

Mik azok az indexek a MongoDB-ben?

A MongoDB indexei lehetővé teszik a dokumentum egyes mezőinek fontossági sorrendbe állítását, és később lekérdezési paraméterekké alakítását. Gyűjtemény létrehozásakor a MongoDB létrehoz egy alapértelmezett azonosítóindexet. De továbbiakat is hozzáadhat, ha nagyobb lekérdezései vagy elrendezési igényei vannak.

Az egyedi indexek megakadályozzák a duplikációkat az adatbevitel során. Hasznosak az adatbázisban már meglévő bejegyzések elutasításához. Így például egyedi indexelést használhat a felhasználónevekben és az e-mail mezőkben.

instagram viewer

Az indexek segítségével pontosan megragadhatja azt, amit a meghatározott lekérdezési formátum használatával a kívánt mennyiségben szeretne, anélkül, hogy a teljes gyűjteményt át kellene vizsgálnia. Az index létrehozásakor megadhatja, hogy az adatok hogyan legyenek rendezve, amikor lekérdezi őket.

Ha például úgy dönt, hogy az adatpontokat a bejegyzés dátuma szerint rendezi index használata nélkül, akkor általában megadja a lekérdezési feltételeket és a rendezési sorrendet.

Tegyük fel, hogy egy bizonyos számnál magasabb életkorokat a bejegyzések csökkenő dátuma szerint szeretné rendezni. Lekérdezése általában így néz ki:

db.collectionName.find({életkor: {$gt: 50}}).sort({dátum: -1})

De ha van indexe a belépési dátumokon, akkor csak a lekérdezési feltételeket kell megadnia. Ez azért van így, mert az index létrehozásakor már rendezte a dátumot csökkenő sorrendben.

Ebben az esetben a fenti lekérdezés a következő lesz:

db.collectionName.find({életkor: {$gt: 50}})

Hogyan készítsünk indexet a MongoDB-ben

Indexeket hozhat létre a MongoDB-ben a beépített shell-felület használatával. Tehát ezt fogjuk használni ebben az oktatóanyagban.

Ennek ellenére az indexek nem léteznek egyedül. Biztosan adatbázist és gyűjteményt hozott létre index létrehozása előtt.

Ahogy korábban említettük, az indexelés egyik kiemelkedő tulajdonsága, hogy lehetővé teszi a rendezési feltételek megadását az index létrehozása során.

Például egy index, amely az életkort fordított sorrendben rendezi, így néz ki:

db.userCollection.createIndex({életkor: -1})

A negatív egész szám (-1) a kódban arra utasítja a MongoDB-t, hogy az életkort fordított sorrendben rendezze, amikor adatokat kérdez le a kor index. Így előfordulhat, hogy nem kell rendezési sorrendet megadnia a lekérdezések során, mivel az index ezt már kezeli.

Ugyanazon mező indexének növekvő sorrendben történő létrehozásához cserélje ki -1 val vel 1:

db.userCollection.createIndex({életkor: 1})

Noha a MongoDB-ben vannak más indextípusok is, így lehet létrehozni az egyszeres és összetett formákat – mivel ezek a leggyakrabban használtak.

De mielőtt továbbmennénk, győződjön meg arról, hogy megtette állítson be egy MongoDB-t szerveren a számítógépen. Ha már megtette, nyissa meg a MongoDB shellt, és kövesse a lépést.

Hozzon létre egyetlen indexet a MongoDB-ben

Az egyszeri indexelés a MongoDB-ben egyszerű. Kezdésként válasszon ki egy adatbázist, amely már tartalmaz gyűjteményeket.

Mondjuk az adatbázisunk neve MUO:

használd a MUO-t

Miután kiválasztotta az adatbázist, használja a createIndex() parancsot a shellben egyetlen index létrehozásához.

Például egyetlen felhasználónév-index létrehozásához egy gyűjteményben, és fordított sorrendben történő lekérdezéshez:

db.collectionName.createIndex({felhasználónév: -1})

Többkulcsos indexelés a MongoDB-ben

A többkulcsos indexek hasznosak egy összetett adattömb mezőjének indexeléséhez. Például egy gyűjtemény tartalmazhat összetett adatokat a felhasználókról, információikkal egy másik tömbben. Például mondja ki a nevet, magasságot és életkort.

Létrehozhat egy többkulcsos indexet a tömb minden egyes felhasználójának magasságára, így:

db.customers.createIndex({felhasználói magasság: 1})

A magasság a fenti kódban a felhasználó terület.

Hozzon létre egy összetett indexet

Egy összetett index egynél több indexet tartalmaz. Például egy összetett cím- és termékindex létrehozása egy ügyfélgyűjteményben:

db.customer.createIndex({cím: 1, termékek: 1})

Mivel nem adott meg nevet a fenti index létrehozásakor, a MongoDB alapértelmezés szerint létrehoz egyet. De az egyes indexek nevét aláhúzásjel választja el. Így kevésbé olvasható, különösen, ha kettőnél több indexed van egy összetettben.

Név megadása összetett index létrehozásakor:

db.customers.createIndex({hely: 1, termékek: 1, súly: -1}, {név: "myCompundIndex"})

Szerezze be az összes indexet egy gyűjteményben

Egy gyűjtemény összes indexének megtekintéséhez:

db.collectionName.getIndexes()

A fenti kód egy elnevezett gyűjtemény összes indexét adja ki.

Rendszerezze adatbázisát indexekkel

A MongoDB indexelése csökkenti a futásidejű késleltetést egyidejű lekérdezések végrehajtásakor. Ezenkívül segítenek az adatbázis rendszerezésében és elérhetőbbé tételében. Amint láthatta, az indexek létrehozása a MongoDB-ben végül is nem bonyolult. Az itt található példák elegendőek ahhoz, hogy elinduljon az index létrehozásával. Mindazonáltal ahhoz, hogy az indexeket a gyakorlatban lássa, ismernie kell a lekérdezés működését a MongoDB-ben.

CRUD műveletek végrehajtása a MongoDB-ben

A MongoDB megismerése bonyolult. Lépjen a földre a CRUD-val.

Olvassa el a következőt

RészvényCsipogEmail
Kapcsolódó témák
  • Programozás
  • Piton
  • Programozás
  • adatbázis
A szerzőről
Idowu Omisola (119 cikk megjelent)

Idowu szenvedélyesen rajong minden intelligens technológiáért és a termelékenységért. Szabadidejében kódolással játszik, és ha unatkozik sakktáblára vált, de szeret időnként kiszakadni a rutinból. Szenvedélye, hogy megmutassa az embereknek a modern technológiát, arra sarkallja, hogy többet írjon.

Továbbiak Idowu Omisola-tól

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez