Der er flere måder at slette et indeks på i MongoDB, hvoraf den ene er at bruge dropIndex()
metode.
Det er ret nemt at bruge - bare send navnet på indekset eller dets definitions-/specifikationsdokument. Hvis det er et tekstindeks, kan du kun angive indeksnavnet.
Eksempler på indekser
Antag, at vi har en samling kaldet bars
. Vi kan bruge getIndexes()
for at se, hvilke indekser den har:
db.bars.getIndexes()
Resultat:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "location" : "2dsphere" }, "name" : "location_2dsphere", "2dsphereIndexVersion" : 3 }, { "v" : 2, "key" : { "name" : 1 }, "name" : "name_1", "hidden" : true } ]
Vi kan se, at der er tre indekser på bars
samling.
- Det første indeks er på
_id
Mark. MongoDB opretter et unikt indeks på_id
felt under oprettelsen af en samling. Du kan ikke slette dette indeks. - Det andet indeks er et 2dsphere-indeks på
location
felt. - Det tredje indeks er på
name
Mark. I dette tilfælde er det tilfældigvis et skjult indeks (det har"hidden" : true
i sin specifikation).
Slip et indeks efter navn
Her er et eksempel på at slette et indeks ved at overføre dets navn til dropIndex()
metode:
db.bars.dropIndex("location_2dsphere")
Output:
{ "nIndexesWas" : 3, "ok" : 1 }
Dette fortæller os, at indekset blev slettet.
Slip et indeks efter dets specifikation
Her er et eksempel på at slette et indeks ved at sende dets specifikationsdokument til dropIndex()
metode:
db.bars.dropIndex( { "name" : 1 } )
Output:
{ "nIndexesWas" : 2, "ok" : 1 }
Vi kan se, at dette indeks også blev droppet.
Du vil huske, at dette er indekset, der blev skjult. Du kan slippe skjulte indekser uden problemer (du behøver ikke at vise dem, før du slipper dem).
Tjek resultaterne
Lad os køre getIndexes()
igen for at se resultaterne:
db.bars.getIndexes()
Resultat:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Denne gang er der kun ét indeks – standard _id
indeks.
dropIndex()
metoden er en indpakning omkring dropIndexes
kommando.
MongoDB-dokumentation
Se MongoDB-dokumentationen for mere information om dropIndex()
metode.