Existuje několik způsobů, jak zrušit index v MongoDB, jedním z nich je použití dropIndex()
metoda.
Použití je docela jednoduché – stačí předat název indexu nebo jeho definiční/specifikační dokument. Pokud se jedná o textový index, můžete zadat pouze název indexu.
Příklady indexů
Předpokládejme, že máme kolekci nazvanou bars
. Můžeme použít getIndexes()
abyste viděli, jaké indexy má:
db.bars.getIndexes()
Výsledek:
[ { "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 } ]
Vidíme, že na bars
jsou tři indexy kolekce.
- První index je na
_id
pole. MongoDB vytvoří jedinečný index na_id
pole při vytváření kolekce. Tento index nemůžete zrušit. - Druhý index je index 2dsphere na
location
pole. - Třetí index je na
name
pole. V tomto případě se jedná o skrytý index (má"hidden" : true
v jeho specifikaci).
Přetáhněte index podle názvu
Zde je příklad zrušení indexu předáním jeho názvu do dropIndex()
metoda:
db.bars.dropIndex("location_2dsphere")
Výstup:
{ "nIndexesWas" : 3, "ok" : 1 }
To nám říká, že index byl úspěšně zrušen.
Přetáhněte index podle jeho specifikace
Zde je příklad zrušení indexu předáním dokumentu jeho specifikace do dropIndex()
metoda:
db.bars.dropIndex( { "name" : 1 } )
Výstup:
{ "nIndexesWas" : 2, "ok" : 1 }
Vidíme, že tento index byl také vypuštěn.
Vzpomenete si, že toto je index, který byl skrytý. Skryté indexy můžete bez problémů zrušit (nemusíte je odkrývat, než je zahodíte).
Zkontrolujte výsledky
Spusťte getIndexes()
znovu, abyste viděli výsledky:
db.bars.getIndexes()
Výsledek:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Tentokrát je k dispozici pouze jeden index – výchozí _id
index.
dropIndex()
metoda je obal kolem dropIndexes
příkaz.
Dokumentace MongoDB
Další informace o dropIndex()
naleznete v dokumentaci MongoDB metoda.