O MongoDB fornece várias maneiras de descartar um índice ou índices.
Para eliminar um único índice, você pode usar o
dropIndex() método. Para eliminar vários índices, você pode usar o método
dropIndexes() método ou o dropIndexes comando de administração. O dropIndex() Método
Se você precisar remover apenas um índice, você pode usar o
dropIndex() método. Este método aceita o nome do índice ou seu documento de especificação. Aqui está um exemplo de como descartar um índice usando o nome do índice:
db.bars.dropIndex("location_2dsphere") Saída:
{ "nIndexesWas" : 3, "ok" : 1 } Isso nos diz que o índice chamado
location_2dsphere foi descartado com sucesso. Aqui está um exemplo de como descartar um índice passando seu documento de especificação:
db.bars.dropIndex( { "name" : 1 } ) Saída:
{ "nIndexesWas" : 2, "ok" : 1 } Podemos ver que esse índice também foi descartado. Este índice tinha uma especificação de
{ "name" : 1 } , que é o documento de especificação que usei ao criar o índice. O
dropIndex() método é um wrapper em torno do dropIndexes comando. Os dropIndexes() Método
O
dropIndexes() pode ser útil se você precisar descartar mais de um índice. Você também pode descartar um único índice, ele apenas tem a capacidade adicional de poder descartar vários (ou todos) índices. Este método aceita o nome do índice ou seu documento de especificação para cada um dos índices a serem descartados. Se você estiver descartando mais de um índice, deverá fornecer seus nomes/documentos de especificação em uma matriz.
Aqui está um exemplo de como descartar dois índices usando seus nomes de índice:
db.pets.dropIndexes( [ "type_1", "name_1" ]) Saída:
{ "nIndexesWas" : 3, "ok" : 1 } Observe que, se for um índice de texto, você só pode especificar o nome do índice.
Você pode remover todos os índices (exceto o
_id index) omitindo completamente o parâmetro:db.pets.dropIndexes() O
dropIndexes() método é um wrapper em torno do dropIndexes comando. Os dropIndexes Comando
Os
dropIndexes O comando permite que você faça a mesma coisa que o dropIndexes() método. Como mencionado, o dropIndexes() método é um wrapper em torno do dropIndexes comando Aqui está um exemplo de como descartar um único índice:
db.runCommand( { dropIndexes: "posts", index: "title_1" }) Saída:
{ "nIndexesWas" : 4, "ok" : 1 } E aqui está um exemplo de como descartar vários índices:
db.runCommand( {
dropIndexes: "posts",
index: [ "tags_1", "body_text" ]
}) Resultado:
{ "nIndexesWas" : 3, "ok" : 1 } Para eliminar todos os índices (exceto o
_id index), use o curinga asterisco (* ):db.runCommand( { dropIndexes: "posts", index: "*" }) Resultado:
{
"nIndexesWas" : 4,
"msg" : "non-_id indexes dropped for collection",
"ok" : 1
}