db.collection.unhideIndex()
Definição
db.collection.unhideIndex()
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 comandocollMod
.Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.
Exibe um índice existente do planejador de query. Uma vez exibidos, os índices ficam imediatamente disponíveis para uso.
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 |
---|---|---|
index | 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
.