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 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.

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