Esistono diversi modi per eliminare un indice in MongoDB, uno dei quali consiste nell'utilizzare dropIndex()
metodo.
È piuttosto semplice da usare:basta passare il nome dell'indice o il suo documento di definizione/specifica. Se è un indice di testo, puoi solo specificare il nome dell'indice.
Indici di esempio
Supponiamo di avere una collezione chiamata bars
. Possiamo usare getIndexes()
per vedere quali indici ha:
db.bars.getIndexes()
Risultato:
[ { "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 } ]
Possiamo vedere che ci sono tre indici sulle bars
raccolta.
- Il primo indice è su
_id
campo. MongoDB crea un indice univoco su_id
campo durante la creazione di una collezione. Non puoi eliminare questo indice. - Il secondo indice è un indice 2dsphere sulla
location
campo. - Il terzo indice è sul
name
campo. In questo caso, si tratta di un indice nascosto (ha"hidden" : true
nella sua specifica).
Rilascia un indice per nome
Ecco un esempio di eliminazione di un indice passando il suo nome a dropIndex()
metodo:
db.bars.dropIndex("location_2dsphere")
Uscita:
{ "nIndexesWas" : 3, "ok" : 1 }
Questo ci dice che l'indice è stato eliminato correttamente.
Elimina un indice in base alla sua specifica
Ecco un esempio di eliminazione di un indice passando il suo documento di specifica a dropIndex()
metodo:
db.bars.dropIndex( { "name" : 1 } )
Uscita:
{ "nIndexesWas" : 2, "ok" : 1 }
Possiamo vedere che anche questo indice è stato eliminato.
Ricorderai che questo è l'indice nascosto. Puoi rilasciare gli indici nascosti senza problemi (non è necessario mostrarli prima di rilasciarli).
Controlla i risultati
Eseguiamo getIndexes()
di nuovo per vedere i risultati:
db.bars.getIndexes()
Risultato:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Questa volta c'è un solo indice:il _id
predefinito indice.
Il dropIndex()
è un wrapper attorno a dropIndexes
comando.
Documentazione MongoDB
Consulta la documentazione di MongoDB per ulteriori informazioni su dropIndex()
metodo.