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 descartar un índice, usa uno de los siguientes métodos shell:
Método | Descripción |
|---|---|
Descarta un índice específico de la colección. | |
Descarta todos los índices removibles de la colección o de un arreglo 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 descartas un índice que se utiliza activamente en producción, puedes experimentar una degradación del rendimiento. Antes de descartar un índice, considera ocultar el índice para evaluar el posible impacto del descarte.
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:
Descartar un solo índice
Para descartar un índice específico, utiliza el método dropIndex() y especifica el nombre del índice:
db.<collection>.dropIndex("<indexName>")
Descartar varios í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 descartar todos los índices excepto el índice _id, usa el método dropIndexes():
db.<collection>.dropIndexes()
Resultados
Después de descartar 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.