Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

$indexStats (etapa de agregación)

$indexStats

Devuelve estadísticas sobre el uso de cada índice en la colección. Si se ejecuta con control de acceso, autentíquese como un usuario con al menos el rol de clusterMonitor.

La etapa $indexStats toma un documento vacío y tiene la siguiente sintaxis:

{ $indexStats: { } }

Para cada índice, el documento de retorno incluye los siguientes campos:

Campo de salida
Descripción

name

Nombre del índice.

Especificación de clave de índice.

Consulta también: especificación.

El nombre de host y el puerto del proceso mongod.

Métricas de uso del índice para el host asociado host, que incluyen:

  • opsNúmero de operaciones de usuario que utilizaron el índice. Este valor excluye las operaciones internas, como la eliminación mediante índices TTL o las operaciones de división y migración de fragmentos. Esta exclusión también abarca el acceso al índice desde la replicación, como la aplicación del registro de operaciones y la creación de índices durante la sincronización inicial.

  • since: el tiempo desde el cual MongoDB recopiló las estadísticas

ADVERTENCIA: El campo accesses informa métricas de uso de índice solo para el nodo donde se ejecuta la query. Para obtener estadísticas más completas sobre el uso de índices, ejecuta $indexStats en cada nodo del clúster.

El nombre de la partición asociada con el host

Solo disponible para un clúster fragmentado.

El documento de especificación detallada para el índice, que incluye la clave del índice y las propiedades del índice.

La opción de índice hidden solo se incluye si el valor es true.

Indica si el índice se está compilando actualmente.

Solo disponible si true.

Las estadísticas que muestra el campo de accesos solo se aplican al nodo donde se ejecuta la consulta y solo incluyen el acceso al índice impulsado por las solicitudes del usuario. El campo accesses excluye las siguientes operaciones internas:

  • Eliminación mediante índices TTL

  • Operaciones de división y migración de fragmentos

  • Acceso a índices desde la replicación, como la aplicación oplog y la creación de índices durante la sincronización inicial.

  • $indexStats debe ser la primera etapa en un pipeline de agregación.

  • $indexStats no se permite en las transacciones.

  • Estadísticas para un restablecimiento de índice en mongod reinicio o descarte y recreación de índice.

  • La modificación de un índice existente (ver comando collMod) restablece las estadísticas para ese índice.

Por ejemplo, una colección orders contiene los siguientes documentos:

db.orders.insertMany( [
{ _id : 1, item : "abc", price : 12, quantity : 2, type: "apparel" },
{ _id : 2, item : "jkl", price : 20, quantity : 1, type: "electronics" },
{ _id : 3, item : "abc", price : 10, quantity : 5, type: "apparel" }
] )

Crea los siguientes dos índices en la colección:

db.orders.createIndex( { item: 1, quantity: 1 } )
db.orders.createIndex( { type: 1, item: 1 } )
db.orders.createIndex(
{ price: 1 },
{ partialFilterExpression: { type: "apparel" } }
)

Ejecutar algunas consultas contra la colección:

db.orders.find( { type: "apparel"} )
db.orders.find( { item: "abc" } ).sort( { quantity: 1 } )
db.orders.find( { price: { $gt: 10 } } )

Para ver estadísticas sobre el uso del índice en la colección orders, ejecute la siguiente operación de agregación:

db.orders.aggregate( [ { $indexStats: { } } ] )

La operación devuelve un documento que contiene estadísticas de uso para cada índice:

[
{
name: 'type_1_item_1',
key: { type: 1, item: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("1"), since: ISODate("2024-05-02T15:07:21.420Z") },
shard: "shardA",
spec: { v: 2, key: { type: 1, item: 1 }, name: 'type_1_item_1' }
},
{
name: 'item_1_quantity_1',
key: { item: 1, quantity: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("1"), since: ISODate("2024-05-02T15:07:21.254Z") },
shard: "shardA",
spec: { v: 2, key: { item: 1, quantity: 1 }, name: 'item_1_quantity_1' }
},
{
name: '_id_',
key: { _id: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("0"), since: ISODate("2024-05-02T15:07:13.274Z") },
shard: "shardA",
spec: { v: 2, key: { _id: 1 }, name: '_id_' }
},
{
name: 'price_1',
key: { price: 1 },
host: 'examplehost.local:27018',
accesses: { ops: Long("0"), since: ISODate("2024-05-02T15:07:54.847Z") },
shard: "shardA",
spec: {
v: 2,
key: { price: 1 },
name: 'price_1',
partialFilterExpression: { type: 'apparel' }
}
}
]
Califique esta página