Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

listIndexes (comando de banco de dados)

listIndexes

Retorna informações sobre os índices na collection especificada, incluindo índices ocultos e índices que estão sendo criados atualmente. As informações de índice retornadas incluem as chaves e as opções usadas para criar o índice. Opcionalmente, você pode definir o tamanho do lote do primeiro lote de resultados.

Dica

In mongosh, this command can also be run through the db.collection.getIndexes() helper method.

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.

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

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Observação

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • 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

O comando tem a seguinte sintaxe:

db.runCommand (
{
listIndexes: "<collection-name>",
cursor: { batchSize: <int> },
comment: <any>
}
)

O comando utiliza os seguintes campos:

Campo
Tipo
Descrição

listIndexes

string

O nome da collection.

cursor.batchSize

inteiro

Opcional. Especifica o tamanho do lote do cursor. Para especificar o tamanho do lote para operações subsequentes do getMore, utilize batchSize() no mongosh.

comment

any

Opcional. Um comentário fornecido pelo usuário para anexar a este comando. Depois de definido, esse comentário aparece junto com os registros desse comando nos seguintes locais:

Um comentário pode ser qualquer tipo BSON válido (string, inteiro, objeto, array etc).

Qualquer comentário definido em um comando listIndexes é herdado por todos os comandos getMore subsequentes executados no cursor listIndexes.

If access control is enforced, the built-in read role provides the required privileges to run listIndexes for the collections in a database.

listIndexes does not return information on MongoDB Search indexes. Instead, use $listSearchIndexes.

If the client that issued listIndexes disconnects before the operation completes, MongoDB marks listIndexes for termination using killOp.

To run on a replica set member, listIndexes operations require the member to be in PRIMARY or SECONDARY state. If the member is in another state, such as STARTUP2, the operation errors.

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.

The server uses the index the same way, but you may notice a difference in the output of the listIndexes and db.collection.getIndexes() commands.

listIndexes.cursor

Um conjunto de resultados retornado no tamanho do lote especificado pelo cursor. Cada documento no resultado do lote contém os seguintes campos:

Campo
Tipo
Descrição

id

inteiro

Um número inteiro de 64 bits. Se for zero, não há mais lotes de informações. Se for diferente de zero, um ID de cursor, utilizável em um comando getMore para obter o próximo lote de informações do índice.

ns

string

O banco de dados e o nome collection no seguinte formato: <database-name>.<collection-name>

firstBatch

documento

As informações do índice incluem as chaves e opções usadas para criar o índice. A opção de índice oculto só estará presente se o valor for verdadeiro.

Utilize o getMore para recuperar resultados adicionais conforme necessário.

listIndexes.ok

O valor de retorno do comando. Um valor de 1 indica o sucesso.

Este exemplo lista índices para a collection contacts sem especificar o tamanho do lote do cursor.

1db.runCommand (
2 {
3 listIndexes: "contacts"
4 }
5)
1{
2 cursor: {
3 id: Long("0"),
4 ns: 'test.contacts',
5 firstBatch: [
6 { v: 2, key: { _id: 1 }, name: '_id_', ns: 'test.contacts' },
7 { v: 2, key: { a: 1 }, name: 'a_1', ns: 'test.contacts' }
8 ]
9 },
10 ok: 1
11}

Este exemplo lista índices para a collection contacts e especifica um tamanho de lote de cursor de 1.

1db.runCommand (
2 {
3 listIndexes: "contacts", cursor: { batchSize: 1 }
4 }
5)
1{
2 cursor: {
3 id: Long("4809221676960028307"),
4 ns: 'test.contacts',
5 firstBatch: [ { v: 2, key: { _id: 1 }, name: '_id_', ns: 'test.contacts' } ]
6 },
7 ok: 1
8}

Este exemplo utiliza getMore para recuperar lotes de resultados adicionais da collection contacts.

1db.runCommand(
2 {
3 getMore: Long("4809221676960028307"), collection: "contacts"
4 }
5)
1{
2 cursor: {
3 nextBatch: [ { v: 2, key: { a: 1 }, name: 'a_1', ns: 'test.contacts' } ],
4 id: Long("0"),
5 ns: 'test.contacts'
6 },
7 ok: 1
8}