Puedes remover un índice específico de una colección. Es posible que debas descartar un índice si observas un impacto negativo en el rendimiento, deseas reemplazarlo por un nuevo índice o ya no necesitas el índice.
Para eliminar un índice, utilice uno de los siguientes métodos de shell:
Método | Descripción |
|---|---|
Elimina un índice específico de la colección. | |
Elimina todos los índices extraíbles de la colección o de una matriz de índices, si se especifica. |
Acerca de esta tarea
Puedes descartar cualquier índice excepto el índice por defecto en el campo _id. Para descartar el índice _id, debes descartar la colección completa.
Si elimina un índice que se usa activamente en producción, podría experimentar una degradación del rendimiento. Antes de eliminar un índice, considere ocultarlo para evaluar el posible impacto de la eliminación.
Antes de comenzar
Para descartar un índice, necesitas su nombre. Para obtener todos los nombres de índices de una colección, ejecuta el método getIndexes():
db.<collection>.getIndexes()
Procedimientos
Después de identificar qué índices descartar, use uno de los siguientes métodos de descarte para la colección especificada:
Eliminar un solo índice
Para descartar un índice específico, utiliza el método dropIndex() y especifica el nombre del índice:
db.<collection>.dropIndex("<indexName>")
Eliminar múltiples índices
Para descartar múltiples índices, utiliza el método dropIndexes() y especifica un arreglo de nombres de índices:
db.<collection>.dropIndexes( [ "<index1>", "<index2>", "<index3>" ] )
Eliminar todos los índices excepto el índice _id
Para eliminar todos los índices excepto el _id índice, utilice el dropIndexes() método:
db.<collection>.dropIndexes()
Resultados
Después de eliminar un índice, el sistema devuelve información sobre el estado de la operación.
Ejemplo de salida:
... { "nIndexesWas" : 3, "ok" : 1 } ...
El valor de nIndexesWas refleja el número de índices antes de remover un índice.
Para confirmar que el índice fue descartado, ejecuta el método db.collection.getIndexes():
db.<collection>.getIndexes()
El índice descartado ya no aparece en la salida de getIndexes().
Obtén más información
Para más información sobre cómo gestionar tus índices existentes, consulta Gestionar índices.
Para aprender a remover un índice en MongoDB Compass, consulte Gestione los índices en Compass.