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
_idcampo. MongoDB cria um índice exclusivo no_idcampo durante a criação de uma coleção. Você não pode descartar este índice. - O segundo índice é um índice 2dsphere no
locationcampo. - O terceiro índice está no
namecampo. Neste caso, é um índice oculto (tem"hidden" : trueem 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.