Det finns flera sätt att släppa ett index i MongoDB, varav ett är att använda dropIndex()
metod.
Det är ganska enkelt att använda - skicka bara namnet på indexet eller dess definitions-/specifikationsdokument. Om det är ett textindex kan du bara ange indexnamnet.
Exempelindex
Anta att vi har en samling som heter bars
. Vi kan använda getIndexes()
för att se vilka index 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 att det finns tre index på bars
samling.
- Det första indexet finns på
_id
fält. MongoDB skapar ett unikt index på_id
under skapandet av en samling. Du kan inte ta bort detta index. - Det andra indexet är ett 2dsphere-index på
location
fältet. - Det tredje indexet finns på
name
fält. I det här fallet råkar det vara ett dolt index (det har"hidden" : true
i dess specifikation).
Släpp ett index efter namn
Här är ett exempel på hur du släpper ett index genom att skicka dess namn till dropIndex()
metod:
db.bars.dropIndex("location_2dsphere")
Utdata:
{ "nIndexesWas" : 3, "ok" : 1 }
Detta talar om för oss att indexet togs bort.
Släpp ett index efter dess specifikation
Här är ett exempel på att ta bort ett index genom att skicka dess specifikationsdokument till dropIndex()
metod:
db.bars.dropIndex( { "name" : 1 } )
Utdata:
{ "nIndexesWas" : 2, "ok" : 1 }
Vi kan se att detta index också togs bort.
Du kommer ihåg att detta är indexet som var dolt. Du kan släppa dolda index utan problem (du behöver inte visa dem innan du släpper dem).
Kontrollera resultaten
Låt oss köra getIndexes()
igen för att se resultatet:
db.bars.getIndexes()
Resultat:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Den här gången finns det bara ett index – standard _id
index.
dropIndex()
Metoden är ett omslag runt dropIndexes
kommando.
MongoDB-dokumentation
Se MongoDB-dokumentationen för mer information om dropIndex()
metod.