Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

db.collection.dropIndex() (método mongosh)

MongoDB com drivers

Esta página documenta um método mongosh. Para ver o método equivalente em um driver do MongoDB, consulte a página correspondente da sua linguagem de programação:
db.collection.dropIndex(index)

Descarta ou remove o índice especificado de uma coleção.

Observação

To get the index name or the index specification document for the db.collection.dropIndex() method, use the db.collection.getIndexes() method.

The db.collection.dropIndex() method takes the following parameter:

Parâmetro
Tipo
Descrição

index

string ou documento

Obrigatório. Especifica o índice a a ser descartado. Você pode especificar o índice pelo nome do índice ou pelo documento de especificação do índice.

Para descartar um índice de texto, especifique o nome do índice.

Não é possível especificar "*" para descartar todos os índices que não sejam_id. Use db.collection.dropIndexes() em vez disso.

If an index specified to db.collection.dropIndex() is still building, db.collection.dropIndex() attempts to stop the in-progress build. Stopping an index build has the same effect as dropping the built index. See Stop In-Progress Index Builds for more complete documentation.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Observação

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

Starting in MongoDB 8.3, db.collection.dropIndex() is idempotent. If you specify an index that does not exist, db.collection.dropIndex() ignores the non-existent index and completes successfully instead of returning an IndexNotFound error. In earlier versions, db.collection.dropIndex() returns an IndexNotFound error if the specified index does not exist.

You can use db.collection.dropIndex() to drop existing indexes on the same collection even if there is a build in progress on another index. In earlier versions, attempting to drop a different index during an in-progress index build results in a BackgroundOperationInProgressForNamespace error.

db.collection.dropIndex() obtains an exclusive lock on the specified collection for the duration of the operation. All subsequent operations on the collection must wait until db.collection.dropIndex() releases the lock.

If an index specified to db.collection.dropIndex() is still building, db.collection.dropIndex() attempts to stop the in-progress build. Stopping an index build has the same effect as dropping the built index.

For replica sets, run db.collection.dropIndex() on the primary. The primary stops the index build and creates an associated "abortIndexBuild" oplog entry. Secondaries which replicate the "abortIndexBuild" oplog entry stop the in-progress index build and discard the build job. See Index Build Process for detailed documentation on the index build process.

Utilize currentOp para identificar as construções de índice associadas com uma operação do createIndexes ou db.collection.createIndexes(). Consulte Operações de indexação ativas para ver um exemplo.

O MongoDB oferece a capacidade de ocultar ou exibir índices do planejador de query. Ao ocultar um índice do planejador, você pode avaliar o impacto potencial de descartar um índice sem realmente descartá-lo.

Se, após a avaliação, o usuário decidir descartar o índice, você poderá descartar o índice oculto; ou seja, você não precisa exibi-lo primeiro para descartá-lo.

Se, no entanto, o impacto for negativo, o usuário poderá exibir o índice em vez de precisar recriá-lo. E, como são totalmente mantidos enquanto estão ocultos, os índices ficam imediatamente disponíveis para uso quando são exibidos.

Para obter mais informações sobre índices ocultos, consulte Índices ocultos.

Em uma collection pets, crie um índice descendente no campo cat:

db.pets.createIndex( { cat: -1 }, { name: "catIdx" } )

Para ver os índices na coleção pets, execute o método getIndexes():

db.pets.getIndexes()
[
{ v: 2, key: { _id: 1 }, name: '_id_' },
{ v: 2, key: { cat: -1 }, name: 'catIdx' }
]

O índice de campo único no campo cat tem o nome especificado pelo usuário de catIdx e o documento de especificação do índice de { "cat" : -1 }.

Para eliminar o índice catIdx, você pode usar o nome do índice:

db.pets.dropIndex( "catIdx" )

Ou você pode usar o documento de especificação de índice { "cat" : -1 }:

db.pets.dropIndex( { "cat" : -1 } )

O comando dropIndex retorna o número de índices na collection antes de o comando ser executado e indica se o comando foi bem-sucedido:

{ nIndexesWas: 2, ok: 1 }

Para confirmar que o índice foi descartado, execute o método getIndexes() novamente:

db.pets.getIndexes()
[ { v: 2, key: { _id: 1 }, name: '_id_' } ]