un index în MongoDB este o structură specială de date care deține datele de câteva câmpuri de documente pe care este creat indexul. Indexurile îmbunătățesc viteza operațiunilor de căutare în baza de date, deoarece în loc să caute întregul document, căutarea se efectuează pe indexurile care dețin doar câteva câmpuri. Pe de altă parte, a avea prea mulți indici poate împiedica performanța operațiilor de inserare, actualizare și ștergere din cauza scrierii suplimentare și a spațiului suplimentar de date utilizat de indexuri.
cum se creează index în MongoDB
sintaxă:
db.collection_name.createIndex({field_name: 1 or -1})
valoarea 1 este pentru ordinea crescătoare și -1 este pentru ordinea descrescătoare.
de exemplu, am o colecție studentdata
. Documentele din această colecție au următoarele câmpuri:
student_name, student_id și student_age
să spunem că vreau să creez indexul pe câmpul student_name în ordine crescătoare:
db.studentdata.createIndex({student_name: 1})
ieșire:
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}
am creat indexul pe student_name ceea ce înseamnă că atunci când cineva caută documentul pe baza student_name, căutarea va fi mai rapidă, deoarece indexul va fi folosit pentru această căutare. Deci, acest lucru este important pentru a crea indexul pe câmpul care va fi căutat frecvent într-o colecție.
MongoDB – găsirea indexurile într-o colecție
putem folosi getIndexes() metodă pentru a găsi toate indexurile create pe o colecție. Sintaxa pentru această metodă este:
db.collection_name.getIndexes()
deci, pentru a obține indexurilestudentdata
collection, comanda ar fi:
> db.studentdata.getIndexes()
ieșirea arată că avem doi indexuri în această colecție. Indexul implicit creat pe _id și indexul pe care l-am creat pe câmpul student_name.
MongoDB – Drop indexuri într-o colecție
puteți picătură fie un anumit index sau toate indexurile.
scăderea unui indice specific:
în acest scop se utilizează metoda dropIndex ().
db.collection_name.dropIndex({index_name: 1})
permite scăderea indexului pe care l-am creat pestudent_name
în colecțiastudentdata
. Comanda pentru aceasta:
db.studentdata.dropIndex({student_name: 1})
nIndexesWas: arată câți indici erau acolo înainte ca această comandă să fie executată
ok: 1: Aceasta înseamnă că comanda este executată cu succes.
Dropping Toate indici:
să renunțe la toate indici de o colecție, vom folosi dropIndexes() metoda.
sintaxa metodei dropIndexs ():
db.collection_name.dropIndexes()
să spunem că vrem să renunțăm la toți indexurile colecțieistudentdata
.
db.studentdata.dropIndexes()
mesajul „indici non-_id scăzut pentru colectare” indică faptul că indicele implicit _id va rămâne în continuare și nu poate fi scăzut. Aceasta înseamnă că folosind această metodă putem renunța doar la indexurile pe care le-am creat, Nu putem renunța la indexul implicit creat pe câmpul _id.