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å
_idMark. MongoDB opretter et unikt indeks på_idfelt under oprettelsen af en samling. Du kan ikke slette dette indeks. - Det andet indeks er et 2dsphere-indeks på
locationfelt. - Det tredje indeks er på
nameMark. I dette tilfælde er det tilfældigvis et skjult indeks (det har"hidden" : truei 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.