MongoDB-indeksi on erityinen tietorakenne, joka pitää sisällään muutaman dokumenttikentän tiedot, joille indeksi on luotu. Indeksit parantavat hakutoimintojen nopeutta tietokannassa, koska sen sijaan, että etsittäisiin koko asiakirjaa, haku suoritetaan indekseistä, joissa on vain muutamia kenttiä. Toisaalta, ottaa liian monta indeksit voivat haitata suorituskykyä Lisää, päivittää ja poistaa toimintoja, koska ylimääräinen kirjoitus ja lisätiedot tilaa käytetään indeksit.
kuinka luodaan indeksi MongoDB: ssä
syntaksi:
db.collection_name.createIndex({field_name: 1 or -1})
arvo 1 on nouseva järjestys ja -1 Laskeva järjestys.
esimerkiksi minulla on kokoelma studentdata
. Tämän kokoelman sisällä olevissa asiakirjoissa on seuraavat kentät:
student_name, student_id ja student_age
sanotaan, että haluan luoda indeksin student_name-kenttään nousevassa järjestyksessä:
db.studentdata.createIndex({student_name: 1})
Lähtö:
{ "createdCollectionAutomatically" : false, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1}
olemme luoneet indeksin student_name, mikä tarkoittaa, että kun joku etsii asiakirjaa student_nimen perusteella, haku on nopeampi, koska indeksiä käytetään tähän hakuun. Joten tämä on tärkeää luoda hakemisto kenttään, joka usein etsitään kokoelma.
MongoDB – hakemistojen löytäminen kokoelmasta
Voimme käyttää getindexejä () – menetelmää kaikkien kokoelmaan luotujen indeksien löytämiseksi. Tämän menetelmän syntaksi on:
db.collection_name.getIndexes()
jotta saadaan studentdata
kokoelma, komento olisi:
> db.studentdata.getIndexes()
tuloste osoittaa, että meillä on tässä kokoelmassa kaksi indeksiä. Oletusindeksi luotu _id ja hakemisto, jonka olemme luoneet student_name-kenttään.
MongoDB – Drop-indeksit kokoelmassa
voit joko pudottaa tietyn indeksin tai kaikki indeksit.
tietyn indeksin pudottaminen:
tähän tarkoitukseen käytetään dropIndex () – menetelmää.
db.collection_name.dropIndex({index_name: 1})
pudottakoon student_name
kokoelman kentässä studentdata
. Komento tälle:
db.studentdata.dropIndex({student_name: 1})
nindexeswas: se näyttää kuinka monta indeksiä oli olemassa ennen kuin tämä komento suoritettiin
ok: 1: tämä tarkoittaa, että komento suoritetaan onnistuneesti.
pudottamalla kaikki indeksit:
pudottaaksemme kaikki kokoelman indeksit, käytämme dropindexejä () – menetelmää.
Dropindexs () – menetelmän syntaksi:
db.collection_name.dropIndexes()
sanotaan, että haluamme pudottaa kaikki studentdata
kokoelma.
db.studentdata.dropIndexes()
viesti ”ei-_id-indeksit pudotettu kokoelmaa varten” osoittaa, että oletusindeksi _id säilyy eikä sitä voida pudottaa. Tämä tarkoittaa, että käyttämällä tätä menetelmää voimme pudottaa vain indeksit, jotka olemme luoneet, emme voi pudottaa oletusindeksi luotu _id kenttään.