Uvod v MongoDB ustvarite kazalo

MongoDB uporablja zapleteno iskanje podatkov, algoritmi za analizo podatkov za upravljanje, spreminjanje in urejanje podatkov, na katerih delajo. Podatki, s katerimi se ukvarjajo, so humorni in zahtevajo učinkovito ravnanje. Indeksi v DBMS pomagajo povečati uspešnost poizvedb, kot sta pridobivanje in posodabljanje podatkov. Predstavljajte si zbirko, ki vsebuje na stotine dokumentov. Če želite najti dokumente, ki ustrezajo določenemu filtru, bi se moral MongoDB filter uskladiti z vsemi dokumenti, ki so v zbirki, kar je dolgočasno in dolgotrajno. Namesto indeksiranja dokumentov (polj) bo čas iskanja znatno zmanjšal. V tej temi bomo spoznali indeks MongoDB create.

Indeksi so podatkovne strukture, ki so polne delnega niza podatkov v sebi. Indeks vrednost določenih polj v dokumentih shrani v urejen način, ki podpira operacije, kot so primerjalniki, enačilniki in poizvedbe na podlagi obsega, v zaporednem vrstnem redu.

Osnovna sintaksa za ustvarjanje indeksa

db.collectionName.createIndex(, )

KljučiKljuči je dokument, ki vsebuje par vrednosti polja, kjer je polje indeksni ključ, vrednost pa vrsta indeksa.

Na primer, vrednost je 1 za razvrščanje indeksnega ključa v naraščajočem in -1 v padajočem vrstnem redu

OpcijeMožnost (-e) je dokument, ki vsebuje niz možnosti, ki vplivajo na ustvarjanje indeksov. Te možnosti so izbirne.

Vrste indeksov

Spodaj so navedene vrste indeksov

1. Privzeti id

Vsak dokument v zbirki Mongo vsebuje indeks

privzeto imenovan „_id“. Med ustvarjanjem dokumenta se ustvari id predmeta, če ni vrednosti indeksa.

2. Enotno polje

Indeksiranje se izvaja na enem polju in operacija razvrščanja je naraščajoča ali padajoča, saj lahko MongoDB prehaja v katero koli smer.

Primer: db.collection.createIndex (("starost": 1))

3. Sestavni indeks

MongoDB podpira uporabniško določene indekse v več poljih. Vrstni red polj v sestavljenem indeksu je precej pomemben. Vrstni red razvrščanja poteka od leve proti desni, prednostna wrt v prvem polju, omenjenem v sestavljenih indeksih, je višja od naslednjega.

Primer: db.collection.createIndex (("starost": 1, "dim.h": - 1)). V tem primeru so vsi dokumenti s starostnim poljem najprej razvrščeni po naraščajočem vrstnem redu in nato po padajočem vrstnem redu v zatemnitvi.

4. Multikey indeks

MongoDB uporablja Multikey Index za indeksiranje podatkov, ki so v obliki matrike. Med indeksiranjem je vsak element v matriki ustvarjen ločen indeks in podatki se indeksirajo na podlagi elementov, ki so prisotni v matriki. MongoDB skrbi, če ima indeksno polje privzeto v njem matriko.

5. Geoprostorski indeks

MongoDB uporablja Geospacial indeksiranje za iskanje podatkov glede na njegovo lokacijo. Podpira dve vrsti iskanja, 2D (dvodimenzionalno) in 3D (tridimenzionalno). Ti indeksi se uporabljajo za doseganje rezultatov v območju. Število rezultatov iskanja lahko omejite tudi s funkcijo limit ().

Primer: db.players.find ((loc: ($ near: ($ geometry: (vrsta: "high_school", šport: "košarka" starost: (14, 17)))))). Ta primer bo našel vse prispevke učencev, ki se šolajo v srednji šoli, igrajo košarko in so v starostnem obdobju od 14 do 17 let.

6. Besedilni indeks

MongoDB nudi indeksiranje besedila za podporo poizvedbam v obliki niza. Besedilni indeks ima lahko poljubno polje, ki je sestavljeno iz elementov niza ali niza elementov niza.
Primer: db.movies.find (($ text: ($ search: "tom hardy"))). V tem primeru bodo najdeni vsi dokumenti z imeni igralcev, kot so Tom hanks, tom felton, tom hiddelson, pa tudi robert hardy in John Hardy. MongoDB prevzame niz, ki je namenjen iskanju, in poda vse dokumente, ki vsebujejo celotni ali delni iskalni niz.

7. Indeks ošiljenosti

MongoDB uporablja ovrednoten indeks za podporo ostrenja. Hashing indeksi izračunajo hash vrednost indeksnih polj s pomočjo hash funkcije. Ne podpira indeksiranja z več ključi (vrednosti matrike). Hash indeksi so ustvarjeni s funkcijo createIndex, vrednost indeksnega polja pa mora biti vedno "razpršena".

Primer: db.collection.createIndex ((: "hashed")) . Če želite najti dokumente z vrednostmi hash-jev, db.collection.find ((: Math.pow (2, 63))) vrne vse dokumente s hash indeksi v območju 2 63.

Možnosti indeksiranja

1. Edinstven indeks

Kot že ime pove, so edinstveni indeksi po svoji naravi. MongoDB ne dovoljuje podvojenih vrednosti, če je indeks ustvarjen z možnostjo »edinstveno«. Če želite določiti, da je indeks edinstven med ustvarjanjem indeksa, uporabite naslednji format.

db.collection.createIndex (, (unique: true)) . Edinstvene omejitve lahko naložijo tudi sestavljeni indeks, indeks z več ključi in besedilni indeks.

2. delni indeks

Delni indeksi indeksirajo dokumente zbirke, ki temeljijo na določenem filtru ali izrazu. Ker indeksi delnih indeksov zahtevajo le podskupino prostora za zbiranje (pomnilnika), to pa tudi zmanjšuje zmogljivost.

Primer :

db.pupils.createIndex ((ime: 1), (delFilterExpression: (starost: ($ gt: 5)))
Podprti izrazi filtra:

  • $ gt, $ gte, $ lt, $ lte (večja od, večja ali enaka, manjša in manjša ali enaka)
  • $ type operaterji
  • $ obstaja: resnično delovanje
  • Operater za enakost ($ eq)
  • Logične in ali operacije

3. Indeks TTL

TTL indeksira posebno vrsto indeksov z enim ključem, ki jih je mogoče izbrisati iz zbirke MongoDB po časovni omejitvi ali ob določenem času ure. Nekatere aplikacije, ki beležijo strojno ustvarjene podatke ali dnevnike, ki bi bili čez nekaj časa neveljavni, to ugotovijo koristno.

Primer:

db.log.createIndex ((“lastModifiedDate”: 1), (expireAfterSeconds: 10000))

4. Redki indeks

Redki indeksi indeksirajo le dokumente, ki vsebujejo vrednost polja indeksa. Zanemari vse ostale dokumente, ki ne vsebujejo polja. Nenastavljeni indeksi privzeto vsebujejo vse dokumente v zbirkah, pri tistih poljih, ki jih ni, je vrednost nična.

Primer:

db.pupil.createIndex (("starost": 1), (redko: resnično))
Indeks ne indeksira dokumentov, ki ne vsebujejo terenske starosti.

5. Indeks neobčutljivih primerov

Indeksi neobčutljivih primerov se uporabljajo za podporo poizvedbam, ki izvajajo primerjave nizov, brez upoštevanja občutljivosti zadeve.

Primer:

db.collection.createIndex (("tipka": 1), (primerjava:))

Primerjava:

Dokument o primerjanju se uporablja za določitev jezikovnih pravil, črk itd … za primerjavo niza.

Dokumenti o zbiranju vključujejo naslednje:

Zaključek - MongoDB ustvari kazalo

Za zaključek je indeksiranje ključno za hitrejše izvajanje poizvedb in upravljanje pomnilnika. Indekse je mogoče ustvariti, spremeniti glede na potrebe uporabnikov in jih po potrebi spustiti.

Priporočeni članki

To je vodnik za MongoDB ustvarjanje indeksa. Tu razpravljamo o vrstah indeksov in možnostih za indeksiranje skupaj s primeri. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Orodja MongoDB
  2. Kaj je MongoDB?
  3. Podvajanje v MongoDB
  4. Prednosti MongoDB