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

db.collection.hideIndex()

Nesta página

  • Definição
  • Compatibilidade
  • 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 de comandos de banco de dados nem drivers específicos de linguagem, como Node.js.

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

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

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.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem

Observação

Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

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.

Para localizar o nome do índice ou documento de especificação do índice, você pode usar o método db.collection.getIndexes() .

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:

Voltar

db.collection.getShardVersion