Ca și în cazul oricărei baze de date, indexurile sunt structuri de date esențiale în MongoDB. Acestea promovează interogări ușoare de baze de date și vă permit să stocați și să aranjați o parte a colecției dvs. în câmpuri unice. Indecșii acceptă, de asemenea, interogarea intervalului fără probleme.
Dacă aplicația dvs. folosește MongoDB, doriți să profitați de puterea indexurilor pentru a vă face interogările mai rapide și mai eficiente. Deci, ce sunt indecșii în MongoDB și cum îi puteți crea?
Ce sunt indecșii în MongoDB?
Indexurile din MongoDB vă permit să prioritizați unele câmpuri dintr-un document și să le transformați mai târziu în parametri de interogare. Când creează o colecție, MongoDB creează un index de ID implicit. Dar puteți adăuga mai multe dacă aveți întrebări mai mari sau nevoi de aranjare.
De asemenea, indecșii unici previn duplicarea în timpul introducerii datelor. Sunt utile pentru a respinge intrările care există deja în baza de date. Deci, puteți utiliza indexarea unică a numelor de utilizator și a câmpurilor de e-mail, de exemplu.
Indexurile vă ajută să obțineți în mod specific ceea ce doriți folosind formatul de interogare definit la cantitatea necesară, fără a scana o întreagă colecție. Când creați un index, puteți specifica modul în care doriți să fie sortate datele dvs. de fiecare dată când îl interogați.
De exemplu, dacă decideți să sortați punctele de date după datele lor de intrare fără a utiliza un index, de obicei veți furniza criterii de interogare și ordine de sortare.
Să presupunem că doriți să aranjați vârstele mai mari decât un anumit număr în funcție de data lor descendentă a intrărilor. Interogarea dvs. arată de obicei astfel:
db.collectionName.find({vârsta: {$gt: 50}}).sort({data: -1})
Dar dacă ați avut un index pentru datele de intrare, ar trebui să furnizați doar criteriile de interogare. Acest lucru se datorează faptului că ați fi sortat deja data descendent în timp ce creați indexul.
În acest caz, interogarea de mai sus devine:
db.collectionName.find({vârsta: {$gt: 50}})
Cum se creează un index în MongoDB
Puteți crea indecși în MongoDB utilizând interfața shell încorporată. Deci asta vom folosi în acest tutorial.
Cu toate acestea, indicii nu există singuri. Trebuie să fi făcut a creat o bază de date și o colecție înainte de a putea crea un index.
După cum am menționat anterior, o caracteristică proeminentă a indexării este că vă permite să specificați criteriile de sortare în timpul creării indexului.
De exemplu, un index care aranjează vârsta într-o ordine inversă arată astfel:
db.userCollection.createIndex({vârsta: -1})
Numărul întreg negativ (-1) din cod îi spune MongoDB să aranjeze vârsta într-o ordine inversă ori de câte ori interogați date folosind vârstă index. Astfel, s-ar putea să nu fie nevoie să specificați o ordine de sortare în timpul interogărilor, deoarece indexul o gestionează deja.
Pentru a crea un index al aceluiași câmp ascendent, înlocuiți -1 cu 1:
db.userCollection.createIndex({vârsta: 1})
Deși există și alte tipuri de index în MongoDB, acesta este modul în care se creează formele unice și compuse, deoarece acestea sunt cele mai utilizate.
Dar înainte de a continua, asigură-te că ai făcut-o configurați un MongoDB server pe computerul dvs. Dacă ați făcut deja acest lucru, deschideți shell-ul MongoDB și urmați-l.
Creați un singur index în MongoDB
Indexarea unică în MongoDB este simplă. Pentru a începe, selectați o bază de date care conține deja colecții.
Să spunem că numele bazei noastre de date este MUO:
utilizați MUO
După ce alegeți o bază de date, utilizați createIndex() comandă în shell pentru a crea un singur index.
De exemplu, pentru a crea un singur index de nume de utilizator într-o colecție și a-l utiliza pentru a interoga în ordine inversă:
db.collectionName.createIndex({nume utilizator: -1})
Indexarea cu mai multe chei în MongoDB
Indexurile cu mai multe chei sunt utile pentru indexarea unui câmp într-o matrice de date complexă. De exemplu, o colecție poate conține date complexe ale utilizatorilor cu informațiile lor într-o altă matrice. De exemplu, spuneți numele, înălțimea și vârsta.
Puteți crea un index cu mai multe chei pe înălțimea fiecărui utilizator din acea matrice, astfel:
db.customers.createIndex({user.height: 1})
The înălţime în codul de mai sus este un subset al utilizator camp.
Creați un index compus
Un index compus conține mai mult de un index. Pentru a crea un index compus de adresă și tip de produs pe o colecție de clienți, de exemplu:
db.customer.createIndex({adresa: 1, produse: 1})
Deoarece nu ați furnizat un nume la crearea indexului de mai sus, MongoDB creează unul implicit. Dar separă numele fiecărui index printr-o liniuță de subliniere. Deci este mai puțin lizibil, mai ales dacă aveți mai mult de doi indici într-un compus.
Pentru a specifica un nume la crearea unui index compus:
db.customers.createIndex({locație: 1, produse: 1, greutate: -1}, {nume: "myCompundIndex"})
Obțineți toți indicii dintr-o colecție
Pentru a vizualiza toți indecșii dintr-o colecție:
db.collectionName.getIndexes()
Codul de mai sus scoate toți indecșii dintr-o colecție numită.
Organizați-vă baza de date cu indici
Indexarea în MongoDB reduce latența de rulare atunci când se execută interogări concurente. În plus, vă ajută să vă organizați baza de date și să o faceți mai accesibilă. După cum ați văzut, crearea de indici în MongoDB nu este complexă, până la urmă. Exemplele de aici sunt suficiente pentru a începe să creați index. Cu toate acestea, pentru a vă vedea indecșii în practică, trebuie să știți cum funcționează interogarea în MongoDB.
Să cunoști MongoDB este dificil. Loviți la pământ cu CRUD.
Citiți în continuare
- Programare
- Piton
- Programare
- Bază de date
Idowu este pasionat de orice tehnologie inteligentă și productivitate. În timpul liber, se joacă cu codificarea și trece la tabla de șah când se plictisește, dar îi place și să se desprindă de rutină din când în când. Pasiunea lui pentru a le arăta oamenilor calea în jurul tehnologiei moderne îl motivează să scrie mai mult.
Aboneaza-te la newsletter-ul nostru
Alăturați-vă buletinului nostru informativ pentru sfaturi tehnice, recenzii, cărți electronice gratuite și oferte exclusive!
Click aici pentru a te abona