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
_idpole. MongoDB vytvoří jedinečný index na_idpole při vytváření kolekce. Tento index nemůžete zrušit. - Druhý index je index 2dsphere na
locationpole. - Třetí index je na
namepole. V tomto případě se jedná o skrytý index (má"hidden" : truev 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.