Introducere în MongoDB creează index

MongoDB este utilizat de algoritmi complexi de extragere a datelor, algoritmi de analiză a datelor pentru a gestiona, modifica și aranja datele la care lucrează. Datele cu care se ocupă sunt foarte puternice și necesită o manipulare eficientă. Indexurile din SGBD ajută la creșterea performanței interogărilor precum preluarea și actualizarea datelor. Imaginează-ți o colecție care are sute de documente. Pentru a găsi documente care se potrivesc cu un anumit filtru, MongoDB ar trebui să corespundă filtrului cu toate documentele care sunt prezente în colecție, care este obositor și necesită mult timp. În loc de indexare a documentelor (câmpuri) va reduce timpul de căutare semnificativ. În acest subiect, vom afla despre MongoDB a crea index.

Indexurile sunt structuri de date care sunt ambalate cu set de date parțiale în sine. Indexul stochează valoarea unui anumit câmp (câmpuri) în documente într-o manieră ordonată, care acceptă operațiuni precum comparatori, ecuatori și interogări bazate pe intervale în ordine secvențială.

Sintaxa de bază pentru crearea indexului

db.collectionName.createIndex(, )

CheiTastele este un document care conține o pereche de valori câmp în care câmpul este cheie index și valoarea este tipul de index.

De exemplu, valoarea este 1 pentru sortarea cheii index în ordine crescătoare și -1 în ordine descrescătoare

OpțiuniOpțiunea (opțiunile) este un document care conține un set de opțiuni care influențează crearea de indici. Aceste opțiuni sunt opționale.

Tipuri de indici

Iată tipurile de indexuri menționate mai jos

1. ID implicit

Fiecare document prezent în colecția Mongo conține un index

implicit numit „_id”. Un ID obiect este creat în timp ce se creează documentul dacă nu sunt prezente valori de index.

2. Câmp unic

Indexarea se realizează pe un singur câmp și operația de sortare este ascendentă sau descendentă, deoarece MongoDB poate traversa în ambele direcții.

Exemplu: db.collection.createIndex (("vârstă": 1))

3. Indice compus

MongoDB acceptă indexuri definite de utilizator în mai multe câmpuri. Ordinea câmpurilor date în indicele compus este destul de semnificativă. Ordinea de sortare durează de la stânga la dreapta, prioritatea față de primul câmp menționat în indexurile compuse este mai mare decât cea a următorului.

Exemplu: db.collection.createIndex (("vârstă": 1, "dim.h": - 1)). În acest exemplu, toate documentele cu câmpul de vârstă sunt mai întâi sortate în ordine crescătoare și apoi în ordine descrescătoare a înălțimii în dim.

4. Index multikey

MongoDB utilizează Indexul Multikey pentru a indexa datele care sunt într-un format matricial. În timp ce indexează, fiecare element din tablă este creat un index separat, iar datele sunt indexate pe baza elementelor (elementelor) prezente în tablă.

5. Indicele geospatial

MongoDB folosește indexarea geospatială pentru a găsi date pe baza locației sale. Suporta doua tipuri de cautare, 2D (bidimensional) si 3D (tridimensional). Acești indici sunt folosiți pentru a obține rezultate într-un interval. Numărul rezultatelor căutării poate fi limitat și prin utilizarea funcției limit ().

Exemplu: db.players.find ((loc: ($ near: ($ geometry: (type: "high_school", sport: "basketball" age: (14, 17)))))). Acest exemplu va găsi toate intrările studenților care sunt la liceu, joacă baschet și sunt cuprinse între 14 și 17 ani.

6. Index de text

MongoDB oferă indexare text pentru a susține interogări în format șir. Indicele de text poate avea câmpuri care constau din elemente de șir sau o serie de elemente de șir.
Exemplu: db.movies.find (($ text: ($ căutare: "tom hardy"))). În acest exemplu veți găsi toate documentele care au nume de actori precum tom hanks, tom felton, tom hiddelson, precum și robert hardy și John Hardy. MongoDB preia șirul furnizat pentru căutare și oferă toate documentele care au un șir de căutare complet sau parțial în acesta.

7. Indicele hașei

MongoDB folosește un indice hashed pentru a sprijini ascuțirea. Hashing indexs calculează valoarea hash a câmpurilor index folosind o funcție hash. Nu acceptă indexarea cu mai multe chei (valori matrice). Indicii Hash sunt creați folosind funcția createIndex, iar valoarea câmpului index ar trebui să fie întotdeauna „hashed”.

Exemplu: db.collection.createIndex ((: "hashed")) . Pentru a găsi documentele cu valori hash, db.collection.find ((: Math.pow (2, 63))) va returna toate documentele cu indexuri de hash în intervalul 2 63.

Opțiuni pentru indexare

1. Index unic

După cum sugerează și numele, indexurile unice sunt de natură unică. MongoDB nu permite valori duplicate dacă este creat un index folosind opțiunea „unică”. Pentru a specifica faptul că un index este unic în timpul creării indexului, trebuie să se folosească următorul format.

db.collection.createIndex (, (unic: adevărat)) . Limitele unice pot fi impuse și pe indicele compus, indexul multikey și indexul text.

2. Indice parțial

Indici parțiali documente de index ale unei colecții bazate pe un anumit filtru sau expresie. Deoarece indexurile parțiale indicele, doar un subgrup al cerințelor spațiului de colectare (memorie) sunt mai reduse, ceea ce duce la o performanță redusă.

Exemplu :

db.pupils.createIndex ((nume: 1), (partialFilterExpression: (age: ($ gt: 5)))
Expresiile de filtru acceptate:

  • $ gt, $ gte, $ lt, $ lte (mai mare decât, mai mare sau egal, mai mic și mai mic decât sau egal)
  • operatori de tip $
  • $ există: operație adevărată
  • Operator de egalitate (USD echivalent)
  • Logice și, sau operațiuni

3. Indicele TTL

TTL indexează un tip special de indici de cheie unică, care pot fi șterse din colecția MongoDB după o perioadă de timp sau la o anumită oră de ceas. Unele aplicații care înregistrează date sau jurnalele generate de mașini, care ar fi în cele din urmă invalide după o anumită perioadă de timp găsesc acest lucru foarte util.

Exemplu:

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

4. Indice redus

Indici sparsi nu indică decât documentele care conțin valoarea câmpului a indexului. Ignoră toate celelalte documente care nu conțin câmpul. În mod implicit, indexurile non-sparse conțin toate documentele din colecții, cu valoare nulă pentru acele câmpuri care nu sunt prezente.

Exemplu:

db.pupil.createIndex (("vârstă": 1), (sparse: true))
Indexul nu indexează documentele care nu conțin vârsta câmpului.

5. Indicele insensibil la caz

Se folosesc indicii de tip insensibil pentru a susține interogări care execută comparații de caractere fără respectarea sensibilității de caz

Exemplu:

db.collection.createIndex (("cheie": 1), (colație:))

Colaţionare:

Documentul de colare este folosit pentru a specifica regulile de limbă, literele etc … pentru compararea șirurilor.

Documentele de colectare constau din următoarele:

Concluzie - MongoDB creează Index

În concluzie, indexarea este crucială pentru executarea mai rapidă a interogărilor și gestionarea memoriei. Pot fi create indexuri, modificate în funcție de cerințele utilizatorilor și abandonate atunci când nu este nevoie.

Articole recomandate

Acesta este un ghid pentru crearea indexului MongoDB. Aici discutăm Tipurile de indexuri și Opțiunile de indexare împreună cu Exemplele. De asemenea, puteți consulta articolul următor pentru a afla mai multe -

  1. Instrumente MongoDB
  2. Ce este MongoDB?
  3. Replicarea în MongoDB
  4. Avantajele MongoDB