Docs Menu
Docs Home
/ /
Administración

listIndexes

listIndexes

Devuelve información sobre los índices de la colección especificada. La información devuelta incluye las claves y opciones utilizadas para crear el índice, así como... Índices ocultos. Opcionalmente, puede configurar el tamaño del primer lote de resultados.

Tip

mongoshEn, este comando también se puede ejecutar a través del método db.collection.getIndexes() auxiliar.

Los métodos asistente son convenientes para usuarios de mongosh, pero es posible que no proporcionen el mismo nivel de información que los comandos de base de datos. En los casos en que no se necesite la conveniencia o se requieran campos de retorno adicionales, utiliza el comando de base de datos.

Este comando está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube

Nota

Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El comando tiene la siguiente forma:

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

listIndexes toma los siguientes campos:

Campo
Tipo
Descripción

listIndexes

string

El nombre de la colección.

cursor.batchSize

entero

Opcional. Especifica el tamaño del lote del cursor.

comment

any

Opcional. Un comentario proporcionado por el usuario para adjuntar a este comando. Una vez configurado, este comentario aparece junto a los registros de este comando en las siguientes ubicaciones:

Un comentario puede ser de cualquier tipo BSON válido (string, objeto, arreglo, etc.).

Si se aplica el control de acceso, la función integrada proporciona read listIndexes los privilegios necesarios para ejecutar para las colecciones en una base de datos.

A partir de MongoDB 4.2, si el cliente que emitiólistIndexesse desconecta antes de que se complete la operación, MongoDB marcalistIndexespara la finalización mediantekillOp.

Para que se ejecuten en un nodo del set de réplicas, las operaciones listIndexes requieren que el nodo esté en estado PRIMARY o SECONDARY. Si el nodo se encuentra en otro estado, como STARTUP2, la operación falla.

A partir de MongoDB 5.0.16, el campo wildcardProjection almacena la proyección del índice en su formato de envío. Es posible que versiones anteriores del servidor almacenaran la proyección en formato normalizado.

El servidor utiliza el índice de la misma manera, pero es posible que notes una diferencia en la salida de los comandos listIndexes db.collection.getIndexes() y.

listIndexes.cursor

Un conjunto de resultados devuelto en el tamaño de lote especificado por el cursor. Cada documento del lote contiene los siguientes campos:

Campo
Tipo
Descripción

ID.

entero

Un entero de 64bits. Si es cero, no hay más lotes de información. Si no es cero, es un ID de cursor, utilizable en un comando getMore para obtener el siguiente lote de información de índice.

ns

string

El nombre de la base de datos y de la colección en el siguiente formato: <database-name>.<collection-name>

primer lote

Documento

La información del índice incluye las claves y las opciones utilizadas para crear el índice. La opción de índice oculto solo está presente si el valor es verdadero.

Utilice para recuperar resultados adicionales según sea getMore necesario.

listIndexes.ok

El valor de retorno del comando. Un valor de 1 indica el éxito.

Este ejemplo enumera los índices de la colección contacts sin especificar el tamaño del lote del 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 ejemplo enumera los índices de la colección contacts y especifica un tamaño 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 ejemplo utiliza getMore para recuperar lotes de resultados adicionales de la colección 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}

Volver

listDatabases

En esta página