Existem várias maneiras de descartar um índice no MongoDB, uma das quais é usar o
dropIndex()
método. É bem simples de usar – basta passar o nome do índice ou seu documento de definição/especificação. Se for um índice de texto, você só pode especificar o nome do índice.
Exemplos de índices
Suponha que tenhamos uma coleção chamada
bars
. Podemos usar getIndexes()
para ver quais índices ele tem:db.bars.getIndexes()
Resultado:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "location" : "2dsphere" }, "name" : "location_2dsphere", "2dsphereIndexVersion" : 3 }, { "v" : 2, "key" : { "name" : 1 }, "name" : "name_1", "hidden" : true } ]
Podemos ver que existem três índices nas
bars
coleção. - O primeiro índice está no
_id
campo. MongoDB cria um índice exclusivo no_id
campo durante a criação de uma coleção. Você não pode descartar este índice. - O segundo índice é um índice 2dsphere no
location
campo. - O terceiro índice está no
name
campo. Neste caso, é um índice oculto (tem"hidden" : true
em sua especificação).
Solte um índice por nome
Aqui está um exemplo de como descartar um índice passando seu nome para o
dropIndex()
método:db.bars.dropIndex("location_2dsphere")
Saída:
{ "nIndexesWas" : 3, "ok" : 1 }
Isso nos diz que o índice foi descartado com sucesso.
Solte um índice por sua especificação
Aqui está um exemplo de como descartar um índice passando seu documento de especificação para o
dropIndex()
método:db.bars.dropIndex( { "name" : 1 } )
Saída:
{ "nIndexesWas" : 2, "ok" : 1 }
Podemos ver que esse índice também foi descartado.
Você vai lembrar que este é o índice que estava oculto. Você pode descartar índices ocultos sem problemas (você não precisa reexibi-los antes de eliminá-los).
Verifique os resultados
Vamos executar
getIndexes()
novamente para ver os resultados:db.bars.getIndexes()
Resultado:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
Desta vez, há apenas um índice – o padrão
_id
índice. O
dropIndex()
método é um wrapper em torno do dropIndexes
comando. Documentação do MongoDB
Consulte a documentação do MongoDB para obter mais informações sobre o
dropIndex()
método.