MongoDB Obtenha todos os índices na coleção

MongoDB Obtenha todos os índices na coleção
Neste artigo, exploraremos os dois principais métodos que você pode usar para obter a lista de todos os índices em uma determinada coleção. Os índices são uma estrutura de dados muito importante que são usados ​​para aprimorar a eficiência e o desempenho das consultas de execução em uma coleção MongoDBB.

Os índices permitem que o MongoDB busque rapidamente os documentos que correspondem a uma consulta específica sem digitalizar toda a coleção para obter resultados correspondentes.

No entanto, é bom ter em mente que este post não cobre o processo de criação de índices. Verifique nosso tutorial sobre o assunto para saber mais.

Vamos pular.

Método 1: MONGODB getIndexes () Método

O primeiro método que discutiremos é o método getIndexes (). Este método está disponível no Shell MongoDB, que permite obter todos os índices em uma determinada coleção como uma matriz.

Este método retorna informações detalhadas sobre os índices disponíveis, incluindo os índices ocultos em um formato legível por humanos.

A sintaxe do comando é como mostrado no seguinte:

dB.coleção.getIndexes ()

NOTA: Dependendo da configuração do cluster, esse método pode exigir que o usuário em execução tenha os índices de lista de permissões na coleção de destino.

Suponha que tenhamos uma coleção chamada "Netflix". Podemos obter todos os índices da coleção executando a seguinte consulta:

dB.Netflix.getIndexes ()

A solicitação deve retornar uma matriz com as informações sobre os índices disponíveis na coleção de destino.

Um exemplo de saída é como mostrado no seguinte:

[[
v: 2, chave: _id: 1, nome: '_id_',

V: 2,
chave: ano: 1, pontuação: -1,
Nome: 'ano_index',
Agrupamento:
Local: 'en',
Caselevel: Falso,
Casefirst: 'Off',
Força: 3,
NumericOrdering: false,
Alternativo: 'não ignorável',
MaxVariable: 'Punt',
Normalização: falsa,
para trás: falso,
Versão: '57.1 '


]

Nesse caso, a coleção contém um índice chamado "ano_index". Também podemos encontrar outras informações de índice, como força, versão, localidade e muito mais.

Método 2: Obtenha os índices de coleta usando o método ListIndexes

O segundo método que podemos usar para visualizar a lista de índices disponíveis em uma determinada coleção é o método ListIndexes. Este método é um comando de banco de dados e é suportado em um driver específico de idioma.

A sintaxe do comando é como mostrado:

dB.comando de execução (

ListIndexes: "",
cursor: batchSize: ,
Comente:

)

Os parâmetros suportados são como mostrados:

  1. Coleção_name - Especifica o nome da coleção de destino como um tipo de string.
  2. BatchSize - Especifica o tamanho do lote para o cursor.
  3. Comentário - Comentário do usuário para o comando especificado.

Considere a seguinte consulta de exemplo:

dB.RuCommand (listindexes: "Netflix")

A consulta anterior chama o comando listindexes na coleção "Netflix". Isso deve retornar todos os índices para a coleção específica, conforme mostrado na seguinte saída:


Cursor:
ID: Long ("0"),
ns: 'entretenimento.Netflix ',
primeiro lote: [
v: 2, chave: _id: 1, nome: '_id_',

V: 2,
chave: ano: 1, pontuação: -1,
Nome: 'ano_index',
Agrupamento:
Local: 'en',
Caselevel: Falso,
Casefirst: 'Off',
Força: 3,
NumericOrdering: false,
Alternativo: 'não ignorável',
MaxVariable: 'Punt',
Normalização: falsa,
para trás: falso,
Versão: '57.1 '


]
,
OK: 1,
'$ clustertime':
ClusterTime: Timestamp (t: 1663940670, i: 2),
assinatura:
Hash: binário (buffer.de ("C243619D64CA61A5C651B4BBB21A8B020A101278", "HEX"), 0),
KeyId: Long ("7110175001109594117")

,
Operação Time: Timestamp (t: 1663940670, i: 2)

Como não especificamos o tamanho do lote para o cursor, o comando retorna todos os resultados do comando listindexes.

Para mostrar apenas um resultado, podemos definir o parâmetro BatchSize como 1, como mostrado no seguinte:

dB.RuCommand (listindexes: "Netflix", cursor: BatchSize: 1)

Nesse caso, o comando deve retornar uma saída como mostrado no seguinte:


Cursor:
ID: Long ("3645642518793960930"),
ns: 'entretenimento.Netflix ',
FirstBatch: [v: 2, chave: _id: 1, nome: '_id_']
,
OK: 1,
'$ clustertime':
ClusterTime: Timestamp (t: 1663940831, i: 2),
assinatura:
Hash: binário (buffer.de ("66058E9B4D59DE21FF01C05480D84438E99411", "Hex"), 0),
KeyId: Long ("7110175001109594117")

,
Operação Time: Timestamp (t: 1663940831, i: 2)

Você pode aumentar o lotes para obter mais informações sobre os índices na coleção.

Conclusão

Neste post, discutimos os dois principais métodos de busca de todos os índices de uma determinada coleção usando os comandos do Shell MongoDB e os comandos do banco de dados. Sinta -se à vontade para explorar o documento para obter informações mais detalhadas.

Codificação feliz!