MongoDB obtiene todos los índices en la colección

MongoDB obtiene todos los índices en la colección
En este artículo, exploraremos los dos métodos principales que puede usar para obtener la lista de todos los índices en una colección dada. Los índices son estructuras de datos muy importantes que se utilizan para mejorar la eficiencia y el rendimiento de las consultas de ejecución en una colección MongoDB.

Los índices permiten que el MongoDB obtenga rápidamente los documentos que coinciden con una consulta específica sin escanear la colección completa para obtener resultados coincidentes.

Sin embargo, es bueno tener en cuenta que esta publicación no cubre el proceso de creación de índice. Consulte nuestro tutorial sobre el tema para obtener más información.

Vamos a saltar.

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

El primer método que discutiremos es el método getIndexes (). Este método está disponible en MongoDB Shell que le permite obtener todos los índices en una colección dada como una matriz.

Este método devuelve una información detallada sobre los índices disponibles, incluidos los índices ocultos en un formato legible por humanos.

La sintaxis del comando es como se muestra en lo siguiente:

db.recopilación.getIndexes ()

Nota: Dependiendo de la configuración del clúster, este método puede requerir que el usuario en ejecución tenga permisos de índices de lista en la colección de destino.

Supongamos que tenemos una colección llamada "Netflix". Podemos obtener todos los índices en la colección ejecutando la siguiente consulta:

db.netflix.getIndexes ()

La solicitud debe devolver una matriz con la información sobre los índices disponibles en la colección de destino.

Una salida de ejemplo es como se muestra en lo siguiente:

[
V: 2, clave: _id: 1, nombre: '_id_',

V: 2,
Clave: año: 1, puntaje: -1,
Nombre: 'Year_index',
Collation:
Local: 'EN',
Caselevel: Falso,
CaseFirst: 'Off',
Fuerza: 3,
Numericordering: falso,
Alternativo: 'No ignorable',
MaxVariable: 'Punt',
Normalización: falso,
hacia atrás: falso,
Versión: '57.1 '


]

En este caso, la colección contiene un índice llamado "año_index". También podemos encontrar otra información de índice como la fuerza, la versión, el localidad y más.

Método 2: Obtenga los índices de colección utilizando el método Listindexes

El segundo método que podemos usar para ver la lista de índices disponibles en una colección determinada es el método listindexes. Este método es un comando de base de datos y se admite en un controlador específico de idioma.

La sintaxis del comando es como se muestra:

db.runcommand (

listIndexes: "",
cursor: batchSize: ,
comentario:

)

Los parámetros compatibles son como se muestra:

  1. Collection_name: especifica el nombre de la colección de destino como un tipo de cadena.
  2. BatchSize: especifica el tamaño de lotes para el cursor.
  3. Comentario - Comentario del usuario para el comando especificado.

Considere la siguiente consulta de ejemplo:

db.runCommand (listIndexes: "netflix")

La consulta anterior invoca el comando listIndexes en la colección "netflix". Esto debería devolver todos los índices para la colección específica como se muestra en la siguiente salida:


cursor:
ID: Long ("0"),
NS: 'Entretenimiento.netflix ',
primer lote: [
V: 2, clave: _id: 1, nombre: '_id_',

V: 2,
Clave: año: 1, puntaje: -1,
Nombre: 'Year_index',
Collation:
Local: 'EN',
Caselevel: Falso,
CaseFirst: 'Off',
Fuerza: 3,
Numericordering: falso,
Alternativo: 'No ignorable',
MaxVariable: 'Punt',
Normalización: falso,
hacia atrás: falso,
Versión: '57.1 '


]
,
OK: 1,
'$ clustertime':
Clustertime: TimeStamp (T: 1663940670, i: 2),
firma:
Hash: binario (amortiguador.De ("C243619D64CA61A5C651B4BBB21A8B020A101278", "Hex"), 0),
KEYID: Long ("7110175001109594117")

,
OperationTime: TimeStamp (T: 1663940670, i: 2)

Como no especificamos el tamaño de lote para el cursor, el comando devuelve todos los resultados del comando listindexes.

Para mostrar solo un resultado, podemos establecer el parámetro BatchSize en 1 como se muestra en lo siguiente:

db.runCommand (listIndexes: "netflix", cursor: batchSize: 1)

En este caso, el comando debe devolver una salida como se muestra en el siguiente:


cursor:
ID: Long ("3645642518793960930"),
NS: 'Entretenimiento.netflix ',
FirstBatch: [V: 2, Key: _id: 1, nombre: '_id_']
,
OK: 1,
'$ clustertime':
Clustertime: TimeStamp (t: 1663940831, i: 2),
firma:
Hash: binario (amortiguador.De ("66058e9b4b4d59de21ff01c05480d84438e99411", "hex"), 0),
KEYID: Long ("7110175001109594117")

,
OperationTime: TimeStamp (T: 1663940831, i: 2)

Puede aumentar el lote para obtener más información sobre los índices en la colección.

Conclusión

En esta publicación, discutimos los dos métodos principales para obtener todos los índices de una colección determinada utilizando los comandos de shell MongoDB y los comandos de la base de datos. Siéntase libre de explorar el documento para obtener información más detallada.

Codificación feliz!