MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

3 maneiras de descartar um índice no MongoDB


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
}