Importante
Método mongosh
Esta página documenta um método mongosh. Esta não é a documentação para 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.
Definição
Compatibilidade
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
Sintaxe
db.collection.unhideIndex(<index>)
Parâmetros
O método db.collection.unhideIndex() utiliza o seguinte parâmetro:
Parâmetro | Tipo | Descrição |
|---|---|---|
| string ou documento | Especifica o índice a ser exibido do planejador de query. Você pode especificar o índice pelo nome do índice ou pelo documento de especificação do índice. Para localizar o nome do índice ou documento de especificação do índice, você pode usar o método Para exibir um índice de texto , especifique o nome do índice. |
O db.collection.unhideIndex() é um wrapper de shell mongosh para o comando collMod .
Comportamento
Estatística de redefinição de modificações do índice
Exibir um índice oculto redefine seu $indexStats.
Sem operação
Exibir um índice já exibido não afeta o índice. No entanto, a operação ainda gerará uma entrada de oplog vazia.
Acesso necessário
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.
Exemplo
O exemplo a seguir exibe um índice existente.
Primeiro, utilize db.collection.createIndex() para criar um índice oculto:
db.restaurants.createIndex( { borough: 1, ratings: 1 }, { hidden: true } );
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 só é retornada se o valor for true.
Para exibir 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.unhideIndex() . A seguir, o nome do índice é especificado:
db.restaurants.unhideIndex( "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" } ]
A opção de índice hidden não aparece mais como parte do índice borough_1_ratings_1, pois o campo só é retornado se o valor for true.