Você pode remover um índice específico de uma coleção. Talvez seja necessário descartar um índice se você observar um impacto negativo no desempenho, se quiser substituí-lo por um novo índice ou se não precisar mais dele.
Para eliminar um índice, use um dos seguintes métodos de shell:
Método | Descrição |
---|---|
Descarta um índice específico da coleção. | |
Descarta todos os índices removíveis da coleção ou de uma array de índices, se especificado. |
Sobre esta tarefa
Você pode descartar qualquer índice, exceto o índice padrão no campo _id
. Para descartar o índice _id
, você deve descartar a coleção inteira.
Se você descartar um índice que é usado ativamente na produção, poderá have degradação no desempenho. Antes de descartar um índice, considere ocultar o índice para avaliar o impacto potencial do descarte.
Antes de começar
Para descartar um índice, você precisa saber o nome. Para obter todos os nomes de índice de uma coleção, execute o método getIndexes()
:
db.<collection>.getIndexes()
Procedimentos
Após identificar quais índices descartar, use um dos seguintes métodos de descarte para a coleção especificada:
Descartar um único índice
Para descartar um índice específico, use o método dropIndex()
e especifique o nome do índice:
db.<collection>.dropIndex("<indexName>")
Descartar vários índices
Para descartar vários índices, use o método dropIndexes()
e especifique uma array de nomes de índices:
db.<collection>.dropIndexes( [ "<index1>", "<index2>", "<index3>" ] )
Eliminar todos os índices exceto o _id
índice
Para descartar todos os índices, exceto o índice _id
, use o método dropIndexes()
:
db.<collection>.dropIndexes()
Resultados
Depois de descartar um índice, o sistema retorna informações sobre o status da operação.
Saída de exemplo:
... { "nIndexesWas" : 3, "ok" : 1 } ...
O valor de nIndexesWas
reflete o número de índices antes de remover um índice.
Para confirmar que o índice foi eliminado, execute o método db.collection.getIndexes()
:
db.<collection>.getIndexes()
O índice descartado não aparece mais na saída getIndexes()
.
Saiba mais
Para saber mais sobre como gerenciar seus índices existentes, consulte Gerenciar índices.
Para saber como remover um índice no MongoDB Compass, consulte Gerenciar índices no Compass.