Hay varias formas de eliminar un índice en MongoDB, una de las cuales es usar dropIndex() método.
Es bastante simple de usar:simplemente pase el nombre del índice o su documento de definición/especificación. Si es un índice de texto, solo puede especificar el nombre del índice.
Índices de ejemplo
Supongamos que tenemos una colección llamada bars . Podemos usar getIndexes() para ver que índices tiene:
db.bars.getIndexes() Resultado:
[
{
"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
}
]
Podemos ver que hay tres índices en las bars colección.
- El primer índice está en
_idcampo. MongoDB crea un índice único en el_iddurante la creación de una colección. No puede eliminar este índice. - El segundo índice es un índice de 2dsphere en la
locationcampo. - El tercer índice está en el
namecampo. En este caso, resulta ser un índice oculto (tiene"hidden" : trueen su especificación).
Soltar un índice por nombre
Aquí hay un ejemplo de soltar un índice pasando su nombre a dropIndex() método:
db.bars.dropIndex("location_2dsphere") Salida:
{ "nIndexesWas" : 3, "ok" : 1 } Esto nos dice que el índice se eliminó con éxito.
Soltar un índice por su especificación
Aquí hay un ejemplo de cómo eliminar un índice al pasar su documento de especificación a dropIndex() método:
db.bars.dropIndex( { "name" : 1 } ) Salida:
{ "nIndexesWas" : 2, "ok" : 1 } Podemos ver que este índice también se eliminó.
Recordarás que este es el índice que estaba oculto. Puede eliminar índices ocultos sin ningún problema (no necesita mostrarlos antes de eliminarlos).
Comprueba los resultados
Ejecutemos getIndexes() de nuevo para ver los resultados:
db.bars.getIndexes() Resultado:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Esta vez solo hay un índice:el _id predeterminado. índice.
El dropIndex() El método es un contenedor alrededor de dropIndexes comando.
Documentación de MongoDB
Consulte la documentación de MongoDB para obtener más información sobre dropIndex() método.