Menu Docs

Descarte um índice

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.

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.

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()

Após identificar quais índices descartar, use um dos seguintes métodos de descarte para a coleção especificada:

Para descartar um índice específico, use o método dropIndex() e especifique o nome do índice:

db.<collection>.dropIndex("<indexName>")

Para descartar vários índices, use o método dropIndexes() e especifique uma array de nomes de índices:

db.<collection>.dropIndexes( [ "<index1>", "<index2>", "<index3>" ] )

Para descartar todos os índices, exceto o índice _id, use o método dropIndexes():

db.<collection>.dropIndexes()

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().