MongoDB - Indexing

Indekser støtte effektiv oppløsning på spørringer. Uten indekser, må MongoDB skanne hvert dokument av en samling for å velge de dokumentene som samsvarer med søket uttalelse. Denne skanningen er svært ineffektive og krever mongodb å behandle et stort volum av data.

Indekser er spesielle datastrukturer, som lagrer en liten del av datasettet i en enkel å traversere form. Indeksen lagrer verdien av et bestemt felt eller et sett med felt, bestilt av verdien av feltet som spesifisert i indeksen.

The ensureIndex () Metode

For å lage en indeks du trenger å bruke ensureIndex () metode for mongodb

syntax.

Basic syntaks av ensureIndex ()
metoden er som følger ()
> db.COLLECTION_NAME.ensureIndex ( {nØKKEL: 1})

Her nøkkelen er navnet på innlevert som du ønsker å lage indeks og en er for stigende rekkefølge. For å opprette indeksen i synkende rekkefølge du må bruke -1

Eksempel
> db.mycol.ensureIndex ({ "title": 1}).>

I ensureIndex ()
metode du kan passere flere felt, for å lage indeks på flere felt
> db.mycol.ensureIndex ({ "title": 1, "description": - 1}).>

ensureIndex ( )
metoden tar også listen over alternativer (som er valgfritt), hvis listen er gitt nedenfor:
Parameter
Skriv
Beskrivelse
backgroundBooleanBuilds indeksen i bakgrunnen, slik at å bygge en indeksen ikke blokkere andre database aktiviteter. Angi sant å bygge i bakgrunnen. Standardverdien er false
.uniqueBooleanCreates en entydig indeks, slik at samlingen ikke vil akseptere innsetting av dokumenter der indeksen nøkkelen eller nøklene passer en eksisterende verdi i indeksen. Angi sant å skape en unik indeks. Standardverdien er false
.namestringThe navnet på indeksen. Hvis uspesifisert, genererer MongoDB en indeks navn ved å sette sammen navnene på de indekserte felt og sorterings order.dropDupsBooleanCreates en unik indeks på et felt som kan ha duplikater. MongoDB indekser bare den første forekomsten av en nøkkel og fjerner alle dokumenter fra samlingen som inneholder påfølgende forekomster av denne nøkkelen. Angi sant å skape unik indeks. Standardverdien er false
.sparseBooleanIf sanne indeksen referanser dokumenter med den angitte feltet. Disse indeksene bruker mindre plass, men oppfører seg annerledes i noen situasjoner (spesielt sorterer). Standardverdien er false
.expireAfterSecondsintegerSpecifies en verdi, i sekunder, som en TTL for å kontrollere hvor lenge MongoDB beholder dokumenter i denne collection.vindex versionThe indeksen versjonsnummer. Standard indeksen versjon avhenger av hvilken versjon av mongodb kjører når du oppretter index.weightsdocumentThe vekt er et nummer fra 1 til 99999 og betegner betydningen av feltet i forhold til de andre indeksert felt i form av score.default_languagestringFor en tekstindeks, språket som bestemmer liste over stoppord og reglene for Stemmer og tokenizer. Standardverdien er engelsk
.language_overridestringFor en tekstindeks, angir du navnet på feltet i dokumentet som inneholder, språket til å overstyre standardspråket. Standardverdien er språket.