Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

db.collection.hideIndex()

Nesta página

  • Definição
  • Sintaxe
  • Comportamento
  • Controle de acesso
  • Exemplo
db.collection.hideIndex()

Importante

Método mongosh

Esta página documenta um método mongosh . Esta não é a documentação para comandos de banco de dados ou drivers específicos de idioma, como Node.js.

Para o comando de banco de dados, consulte a opção de coleção index.hidden definida utilizando o comando collMod.

Para drivers de API do MongoDB, consulte a documentação do driver MongoDB específica do idioma.

Para a documentação de shell legada do mongo, consulte a documentação para a versão correspondente do MongoDB Server:

mongo shell v4.4

Oculta um índice existente do planejador de consultas. Um índice oculto do planejador de consultas não é avaliado como parte da seleção do plano de consultas.

Ao ocultar um índice do planejador, você pode avaliar o possível impacto da eliminação de um índice sem eliminá-lo. Se o impacto for negativo, você poderá exibir o índice em vez de ter que recriar um índice descartado. E como os índices são totalmente mantidos enquanto estão ocultos, os índices ficam imediatamente disponíveis para uso quando são exibidos.

Para obter detalhes, consulte Índices ocultos.

db.collection.hideIndex(<index>)

O método db.collection.hideIndex() utiliza o seguinte parâmetro:

Parâmetro
Tipo
Descrição
index
string ou documento

Especifica o índice a ser ocultado do planejador de consultas. Você pode especificar o índice pelo nome ou pelo documento de especificação.

Dica

Você pode utilizar o método db.collection.getIndexes() para encontrar o nome ou o documento de especificação do índice.

Para ocultar um índice de texto, especifique o nome do índice.

O db.collection.hideIndex() é um wrapper de shell mongosh para o comando collMod .

Para ocultar um índice, você deve ter featureCompatibilityVersion configurado para 5.0 ou superior.

Não é possível ocultar o índice _id.

Ocultar um índice não oculto redefine seu $indexStats.

Ocultar um índice já oculto não afeta o índice. No entanto, a operação ainda gerará uma entrada de oplog vazia.

Se a implantação forçar a autenticação/autorização, você deve ter o privilégio collMod no banco de dados da coleção.

A função embutida dbAdmin fornece os privilégios exigidos.

O exemplo a seguir oculta um índice existente.

Primeiro, utilize o db.collection.createIndex() para criar um índice sem ocultar:

db.restaurants.createIndex( { borough: 1, ratings: 1 } );

Para ocultar o índice, você pode especificar o documento de especificação da chave de índice ou o nome do índice para o método db.collection.hideIndex() . A seguir, o nome do índice é especificado:

db.restaurants.hideIndex( "borough_1_ratings_1" );

Para verificar, execute db.collection.getIndexes() na collection restaurants:

db.restaurants.getIndexes();

A operação retorna as seguintes informações:

[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"borough" : 1,
"ratings" : 1
},
"name" : "borough_1_ratings_1",
"hidden" : true
}
]

A opção de índice hidden é retornada somente se o valor for true.

Dica

Veja também:

← db.collection.getShardVersion()