db.collection.getIndexes()
MongoDB com drivers
Esta página documenta um método mongosh
. Para ver o método equivalente em um driver MongoDB, consulte a página correspondente da sua linguagem de programação:
Definição
db.collection.getIndexes()
Retorna uma array que contém uma lista de documentos que identificam e descrevem os índices existentes na coleção, inclusive os índices ocultos.
Você deve chamar
db.collection.getIndexes()
em uma coleção. Por exemplo:db.collection.getIndexes() Altere
collection
para o nome da coleção para a qual as informações do índice devem ser retornadas.
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
Comportamento
Índices de pesquisa do Atlas
getIndexes()
não retorna informações sobre os índices do Atlas Search. Para obter informações sobre os índices do Atlas Search, use $listSearchIndexes
.
Desconexão do cliente
A partir do MongoDB 4.2, se o cliente que emitiu db.collection.getIndexes()
se desconectar antes da conclusão da operação, o MongoDB marcará db.collection.getIndexes()
para encerramento usando killOp
.
Restrição de estado do membro do conjunto de réplica
Para executar em um nó do conjunto de réplicas, as operações delistIndexes
exigem que o nó esteja no estado PRIMARY
ou SECONDARY
. Se o nó estiver em outro estado, como STARTUP2
, haverá erros na operação.
Índices curinga
A partir do MongoDB 6.3, 6.0.5 e 5.0.16, o campo wildcardProjection
armazena a projeção do índice na forma enviada. Versões anteriores do servidor podem ter armazenado a projeção de forma normalizada.
O servidor usa o índice da mesma maneira, mas você pode notar uma diferença na saída dos comandos listIndexes
e db.collection.getIndexes()
.
Acesso necessário
Para executar db.collection.getIndexes()
quando o controle de acesso é aplicado, os usuários devem ter privilégios para listIndexes
na coleção.
A função integrada read
fornece os privilégios exigidos para executar o db.collection.getIndexes()
para as coleções em um banco de dados.
Saída
db.collection.getIndexes()
retorna uma série de documentos que contêm informações de índice para a coleta. Por exemplo:
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" }, { "v" : 2, "key" : { "status" : 1 }, "name" : "status_1" }, { "v" : 2, "key" : { "points" : 1 }, "name" : "points_1" } ]
As informações do índice incluem as chaves e opções usadas para criar o índice. A opção de índice hidden
só estará disponível se o valor for true
.
Para informações sobre as chaves e opções de índice, consulte db.collection.createIndex()
.