Introduktion till MongoDB skapa index

MongoDB används av komplexa data mining, dataanalys algoritmer för att hantera, ändra och ordna data de arbetar med. Uppgifterna de hanterar är humongösa och kräver effektiv hantering. Index i DBMS hjälper till att öka resultatet för frågor som hämta och uppdatera data. Föreställ dig en samling som har hundratals dokument. För att hitta dokument som matchar ett visst filter, måste MongoDB matcha filtret mot alla dokument som finns i samlingen, vilket är tråkigt och tidskrävande. I stället för att indexera dokument (fält) minskar söktiden betydligt. I det här ämnet kommer vi att lära oss om MongoDB skapa index.

Index är datastrukturer som är packade med delvis datauppsättning i sig själv. Indexet lagrar värdet på ett eller flera fält i dokument på ett ordnat sätt som stöder operationer som komparatorer, ekvatorer och intervallbaserade frågor i sekvensordning.

Den grundläggande syntaxen för att skapa index

db.collectionName.createIndex(, )

KeysNycklar är ett dokument som innehåller ett fältvärdespar där fältet är indexnyckel och värdet är typen av index.

Till exempel är värdet 1 för att sortera indexnyckeln i stigande ordning och -1 i fallande ordning

alternativAlternativ (er) är ett dokument som innehåller en uppsättning alternativ som påverkar skapandet av index. Dessa alternativ är valfria.

Typer av index

Här är de typer av index som nämns nedan

1. Standard-id

Varje dokument som finns i Mongo-samlingen innehåller ett index

standard kallas “_id”. Ett objekt-id skapas när dokumentet skapas om inga indexvärden finns.

2. Enstaka fält

Indexering utförs på ett enda fält och sorteringsoperationen är antingen stigande eller fallande eftersom MongoDB kan korsa i endera riktningen.

Exempel: db.collection.createIndex (("ålder": 1))

3. Sammansatt index

MongoDB stöder användardefinierade index i flera fält. Ordningen på de fält som anges i sammansatt index är ganska betydande. Sorteringsordning tar från vänster till höger, prioritet till det första fältet som nämns i sammansatta index är högre än det för nästa.

Exempel: db.collection.createIndex (("ålder": 1, "dim.h": - 1)). I detta exempel sorteras alla dokument med åldersfält först i stigande ordning och sedan i fallande höjdordning i dim.

4. Multikey-index

MongoDB använder Multikey Index för att indexera data som är i arrayformat. Vid indexering skapas varje element i arrayen ett separat index och data indexeras baserat på elementet / elementen som finns i arrayen. MongoDB tar hand om indexfältet har en matris som standard.

5. Geospatial Index

MongoDB använder Geospatial indexering för att hitta data baserat på dess plats. Det stöder två typer av sökning, 2D (tvådimensionell) och 3D (tredimensionell). Dessa index används för att få resultat inom ett intervall. Antalet sökresultat kan också begränsas genom att använda funktionen limit ().

Exempel: db.players.find ((loc: ($ nära: ($ geometri: (typ: “high_school”, sport: ”basket” ålder: (14, 17)))))). I det här exemplet hittar du alla poster för studenter som går i gymnasiet, spelar basket och ligger inom åldersintervallet 14 till 17.

6. Textindex

MongoDB tillhandahåller textindexering för att stödja frågor i strängformat. Textindex kan ha valfritt fält som består av strängelement eller en rad strängelement.
Exempel: db.movies.find (($ text: ($ search: “tom hardy”))). Detta exempel hittar alla dokument som har skådespelarnamn som tom hanks, tom felton, tom hiddelson samt robert hardy och john hardy. MongoDB tar in den sträng som finns för sökning och ger alla dokument som har en fullständig eller partiell söksträng i den.

7. Hashed Index

MongoDB använder ett hash-index för att stödja skärning. Hashing-index beräknar hashvärdet för indexfälten med hjälp av en hash-funktion. Det stöder inte flerknappsindexering (matrisvärden). Hash-index skapas med hjälp av createIndex-funktionen och värdet på indexfältet ska alltid 'hashas'.

Exempel: db.collection.createIndex ((: "hashed")) . För att hitta dokumenten med hashvärden returnerar db.collection.find ((: Math.pow (2, 63))) alla dokument med hashindex i området 2 63.

Alternativ för indexering

1. Unikt index

Som namnet antyder är unika index unika i naturen. MongoDB tillåter inte duplicerade värden om ett index skapas med alternativet "unikt". För att ange att ett index är unikt när du skapar indexet bör följande format användas.

db.collection.createIndex (, (unik: sann)) . De unika begränsningarna kan också åläggas sammansatt index, multikey-index och textindex.

2. Partiellt index

Delvis indexerar indexdokument för en samling baserat på ett specifikt filter eller uttryck. Eftersom partiella index indexeras, är endast en undergrupp av samlingens utrymme (minne) mindre och detta resulterar också i minskad prestanda.

Exempel :

db.pupils.createIndex ((name: 1), (partialFilterExpression: (age: ($ gt: 5))))
Filtrerade uttryck stöds:

  • $ gt, $ gte, $ lt, $ lte (större än, större än eller lika, mindre än och mindre än eller lika)
  • $ typoperatörer
  • $ finns: verklig operation
  • Jämställdhetsoperatör ($ ekv.)
  • Logiska och, eller operationer

3. TTL-index

TTL indexerar en speciell typ av enstaka nyckelindex som kan raderas från MongoDB-samlingen efter en timeout eller vid en viss klocktid. Några applikationer som loggar in maskingenererade data eller loggar som så småningom skulle vara ogiltiga efter en viss tid finner detta mycket hjälpsam.

Exempel:

db.log.createIndex (("lastModifiedDate": 1), (expireAfterSeconds: 10000))

4. Sparsamt index

Sparse index indexerar endast de dokument som innehåller fältvärdet för indexet. Den ignorerar alla andra dokument som inte innehåller fältet. Som standard innehåller icke-glesa index alla dokument i samlingarna, med null som värdet för de fält som inte finns.

Exempel:

db.pupil.createIndex (("ålder": 1), (gles: sant))
Indexet indexerar inte dokument som inte innehåller fältåldern.

5. Ärende känsligt index

Fallkänsliga index används för att stödja frågor som utför strängenjämförelser utan att ta hänsyn till fallkänslighet.

Exempel:

db.collection.createIndex (("key": 1), (collation:))

Sortering:

Samlingsdokument används för att specificera språkregler, bokstäver etc. etc. för strängjämförelse.

Samlingsdokument består av följande:

Slutsats - MongoDB skapa index

Sammanfattningsvis är indexering avgörande för snabbare exekvering av frågor och minnehantering. Index kan skapas, ändras enligt användarnas krav och släppas när det inte behövs.

Rekommenderade artiklar

Detta är en guide till MongoDB skapa index. Här diskuterar vi typer av index och alternativ för indexering tillsammans med exemplen. Du kan också titta på följande artikel för att lära dig mer -

  1. MongoDB-verktyg
  2. Vad är MongoDB?
  3. Replikation i MongoDB
  4. Fördelar med MongoDB