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
_idcampo. MongoDB crea un indice univoco su_idcampo durante la creazione di una collezione. Non puoi eliminare questo indice. - Il secondo indice è un indice 2dsphere sulla
locationcampo. - Il terzo indice è sul
namecampo. In questo caso, si tratta di un indice nascosto (ha"hidden" : truenella 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.