Kuten missä tahansa tietokannassa, indeksit ovat tärkeitä tietorakenteita MongoDB: ssä. Ne edistävät helppoja tietokantakyselyitä ja antavat sinun tallentaa ja järjestää osan kokoelmastasi ainutlaatuisiin kenttiin. Indeksit tukevat myös aluekyselyä ilman ongelmia.

Jos sovelluksesi käyttää MongoDB: tä, haluat hyödyntää indeksien tehoa tehdäksesi kyselyistäsi nopeampia ja tehokkaampia. Mitä indeksit ovat MongoDB: ssä ja kuinka voit luoda niitä?

Mitä ovat indeksit MongoDB: ssä?

MongoDB: n indeksien avulla voit priorisoida joitain asiakirjan kenttiä ja muuttaa ne myöhemmin kyselyparametreiksi. Luodessaan kokoelmaa MongoDB luo oletustunnusindeksin. Mutta voit lisätä lisää, jos sinulla on suurempia kyselyitä tai järjestelytarpeita.

Ainutlaatuiset hakemistot estävät myös kaksoiskappaleet tietojen syöttämisen aikana. Ne ovat hyödyllisiä tietokannassa jo olevien merkintöjen hylkäämiseen. Voit siis käyttää yksilöllistä indeksointia esimerkiksi käyttäjätunnuksissa ja sähköpostikentissä.

Hakemistot auttavat sinua nappaamaan haluamaasi määritetyn kyselymuodon avulla vaaditulla määrällä skannaamatta koko kokoelmaa. Kun luot hakemistoa, voit määrittää, kuinka haluat lajitella tiedot aina, kun teet kyselyn.

Jos esimerkiksi päätät lajitella tietopisteet niiden syöttöpäivämäärän mukaan ilman indeksiä, annat yleensä kyselyn kriteerit ja lajittelujärjestyksen.

Oletetaan, että haluat järjestää tiettyä lukua korkeammat iät niiden laskevan merkintäpäivämäärän mukaan. Kyselysi näyttää yleensä tältä:

db.collectionName.find({ikä: {$gt: 50}}).sort({päiväys: -1})

Mutta jos sinulla oli hakemisto tulopäivillä, sinun tarvitsee antaa vain kyselyehdot. Tämä johtuu siitä, että olet jo lajitellut päivämäärän laskevassa järjestyksessä hakemistoa luodessasi.

Siinä tapauksessa yllä olevasta kyselystä tulee:

db.collectionName.find({ikä: {$gt: 50}})

Kuinka luoda indeksi MongoDB: ssä

Voit luoda indeksejä MongoDB: ssä käyttämällä sen sisäänrakennettua shell-käyttöliittymää. Joten sitä käytämme tässä opetusohjelmassa.

Indeksejä ei kuitenkaan ole olemassa yksinään. Sinun on täytynyt loi tietokannan ja kokoelman ennen kuin voit luoda indeksin.

Kuten aiemmin mainitsimme, indeksoinnin näkyvä ominaisuus on, että sen avulla voit määrittää lajittelukriteerit indeksin luomisen aikana.

Esimerkiksi indeksi, joka järjestää iän käänteiseen järjestykseen, näyttää tältä:

db.userCollection.createIndex({ikä: -1})

Negatiivinen kokonaisluku (-1) koodissa käskee MongoDB: tä järjestämään iän käänteisessä järjestyksessä aina, kun teet kyselyn tietoja käyttämällä ikä indeksi. Siksi sinun ei ehkä tarvitse määrittää lajittelujärjestystä kyselyiden aikana, koska indeksi käsittelee sen jo.

Jos haluat luoda indeksin samasta kentästä nousevassa järjestyksessä, vaihda -1 kanssa 1:

db.userCollection.createIndex({ikä: 1})

Vaikka MongoDB: ssä on muitakin indeksityyppejä, näin luodaan yksittäis- ja yhdistelmämuodot, koska ne ovat eniten käytettyjä.

Mutta ennen kuin jatkamme, varmista, että olet perustaa MongoDB palvelin tietokoneellesi. Jos olet jo tehnyt niin, avaa MongoDB-kuori ja seuraa mukana.

Luo yksi indeksi MongoDB: ssä

Yksittäinen indeksointi MongoDB: ssä on yksinkertaista. Aloita valitsemalla tietokanta, joka sisältää jo kokoelmia.

Sano tietokantamme nimi MUO:

käytä MUO: ta

Kun olet valinnut tietokannan, käytä createIndex() komentotulkissa luodaksesi yhden indeksin.

Voit esimerkiksi luoda yksittäisen käyttäjätunnushakemiston kokoelmaan ja käyttää sitä käänteisessä järjestyksessä:

db.collectionName.createIndex({käyttäjänimi: -1})

Moniavain-indeksointi MongoDB: ssä

Moniavainindeksit ovat hyödyllisiä monimutkaisen tietotaulukon kentän indeksoinnissa. Kokoelma voi esimerkiksi sisältää monimutkaisia ​​tietoja käyttäjistä, joiden tiedot ovat toisessa taulukossa. Sano esimerkiksi nimi, pituus ja ikä.

Voit luoda moniavainindeksin kunkin kyseisen taulukon käyttäjän pituudelle seuraavasti:

db.customers.createIndex({user.height: 1})

The korkeus yllä olevassa koodissa on osajoukko koodista käyttäjä ala.

Luo yhdistelmäindeksi

Yhdistelmäindeksi sisältää useamman kuin yhden indeksin. Voit luoda yhdistetyn osoitteen ja tuotetyypin indeksin asiakaskokoelmaan esimerkiksi seuraavasti:

db.customer.createIndex({osoite: 1, tuotteet: 1})

Koska et antanut nimeä yllä olevaa hakemistoa luodessasi, MongoDB luo sellaisen oletuksena. Mutta se erottaa kunkin indeksin nimen alaviivalla. Joten se on vähemmän luettavissa, varsinkin jos sinulla on enemmän kuin kaksi indeksiä yhdisteessä.

Nimen määrittäminen yhdistelmäindeksiä luotaessa:

db.customers.createIndex({sijainti: 1, tuotteet: 1, paino: -1}, {nimi: "myCompundIndex"})

Hanki kaikki kokoelman indeksit

Voit tarkastella kaikkia kokoelman indeksejä seuraavasti:

db.collectionName.getIndexes()

Yllä oleva koodi tulostaa kaikki nimetyn kokoelman indeksit.

Järjestä tietokantasi hakemistojen avulla

Indeksointi MongoDB: ssä vähentää ajonaikaista latenssia suoritettaessa samanaikaisia ​​kyselyitä. Lisäksi ne auttavat sinua järjestämään tietokantaasi ja parantamaan sen saatavuutta. Kuten olet nähnyt, hakemistojen luominen MongoDB: ssä ei loppujen lopuksi ole monimutkaista. Tässä olevat esimerkit riittävät pääsemään alkuun indeksin luomisessa. Kuitenkin, jotta voit nähdä indeksisi käytännössä, sinun on tiedettävä, kuinka kyselyt toimivat MongoDB: ssä.

Kuinka suorittaa CRUD-operaatioita MongoDB: ssä

MongoDB: hen tutustuminen on hankalaa. Lyö maahan CRUD: lla.

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • Ohjelmointi
  • Python
  • Ohjelmointi
  • tietokanta
Kirjailijasta
Idowu Omisola (119 artikkelia julkaistu)

Idowu on intohimoinen kaikkeen älykkääseen tekniikkaan ja tuottavuuteen. Vapaa-ajallaan hän leikkii koodaamalla ja vaihtuu shakkilaudalle, kun on kyllästynyt, mutta hän myös pitää välillä irtautumisesta rutiineista. Hänen intohimonsa näyttää ihmisille tietä modernin tekniikan parissa motivoi häntä kirjoittamaan lisää.

Lisää Idowu Omisolalta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi