MongoDB Remova todos os índices do banco de dados

MongoDB Remova todos os índices do banco de dados

Neste post, exploraremos como usar o método Dropindexes () no Shell MongoDB para remover um índice de uma determinada coleção. Também criaremos um script simples para remover todos os índices de uma determinada coleção.

Vamos mergulhar.

DB de MongoDB.Coleção.Dropindexes ()

Para descartar um índice específico de uma coleção, usamos o método DropIndexes () e passamos o índice de destino que você deseja remover da coleção.

Você pode especificar o nome do índice se for um índice de texto ou o documento de especificação de índice de outra forma.

Exemplo 1: soltar um índice pelo nome

No exemplo seguinte, consulta, podemos usar o método DropIndexes () para soltar um índice sob o nome, "Type".

Ent> dB.Netflix.Dropindexes ("Tipo")

O comando dado remove o índice com o nome "Type". A queda de um índice pelo nome é suportada para tipos de índice de texto.

A consulta retorna uma saída da seguinte forma:

nindexeswas: 4, ok: 1

Exemplo 2: solte vários índices pelo nome

Também podemos remover vários índices usando seus nomes, como mostrado no exemplo seguinte, consulta:

dB.Netflix.Dropindexes ("Ano", "Classificação")

Nesse caso, o comando deve remover os índices "ano" e "classificação" da coleção.

Saída:

nindexeswas: 3, ok: 1

Exemplo 3: solte todos os índices, exceto o índice _id

A consulta de exemplo a seguir mostra como usar o método Dropindexes () para soltar todos os índices de uma determinada coleção, exceto o _id Índice.

dB.Netflix.Dropindexes ()

O comando deve remover todos os índices não _ID da coleção, conforme mostrado na seguinte saída:


Nindexeswas: 4,
msg: 'Índices não _id descartados para coleta',
OK: 1

Exemplo 4: solte todos os índices de um determinado banco de dados

Se desejarmos remover todos os índices de um determinado banco de dados, podemos usar um script simples, como mostrado no exemplo a seguir:

dB.getCollectionNames ().foreach (function (coleção)
… DB.RuCommand (Dropindexes: coleçãoName, Index: "*");
…);

O comando anterior usa a função foreach para iterar em cada coleção no banco de dados. Em seguida, passa cada coleção para o comando Dropindexes e o índice de destino como um personagem curinga.

Isso deve permitir que você remova todos os índices não _id do banco de dados em uma etapa simples.

Conclusão

Neste post, discutimos como usar o método Dropindexes no shell do MongoDB para remover um ou vários índices de uma coleção.