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

db.collection.stats() (método mongosh)

MongoDB con controladores

Esta página documenta un método mongosh. Para ver el método equivalente en un driver de MongoDB, consulte la página correspondiente a su lenguaje de programación:

Importante

Método mongosh

Esta página documenta un método mongosh. No se trata de la documentación de comandos de base de datos ni de controladores específicos de lenguajes de programación, como Node.js.

Para el comando de base de datos, consulta el comando collStats.

Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.

db.collection.stats(<option>)

Devuelve estadísticas sobre la colección.

Devuelve:

Un documento que contiene estadísticas sobre la colección especificada. Se puede consultar collStats para obtener un desglose de las estadísticas devueltas.

Nota

db.collection.stats() llama internamente a la etapa de agregación $collStats por defecto.

El método tiene el siguiente formato:

db.collection.stats({
scale: <num>, // Optional
indexDetails: <boolean>, // Optional
indexDetailsKey: <document>, // Optional
indexDetailsName: <string>. // Optional
})
Campo
Tipo
Descripción

scale

Número

Opcional. El factor de escala para los datos de los distintos tamaños. El scale por defecto es 1 para devolver los datos de tamaño en bytes. Para mostrar los kilobytes en lugar de bytes, se debe especificar un valor scale de 1024.

Si se especifica un factor de escala no entero, MongoDB utiliza la parte entera del factor especificado. Por ejemplo, si se especifica un factor de escala de 1023.999, MongoDB utiliza 1023 como factor de escala.

A partir de la versión 4.2, la salida incluye el scaleFactor utilizado para escalar los valores de tamaño.

indexDetails

booleano

Opcional. Si true, db.collection.stats() devuelve index details además de las estadísticas de la colección.

Solo funciona para el motor de almacenamiento WiredTiger.

Se establece por defecto en false.

indexDetailsKey

Documento

Opcional. Si indexDetails es true, se puede usar indexDetailsKey para filtrar los detalles del índice especificando la clave del índice. Solo se devolverá el índice que coincida exactamente con indexDetailsKey.

Si no se encuentra ninguna coincidencia, indexDetails mostrará estadísticas de todos los índices.

Se puede usar getIndexes() para descubrir claves de índice. No se puede usar indexDetailsKey con indexDetailsName.

indexDetailsName

string

Opcional. Si indexDetails es true, se puede utilizar indexDetailsName para el filtro de detalles del índice especificando el índice name. Solo se devolverá el nombre de índice que coincida exactamente con indexDetailsName.

Si no se encuentra ninguna coincidencia, indexDetails mostrará estadísticas de todos los índices.

Se puede usar getIndexes() para descubrir los nombres de los índices. No se puede usar indexDetailsName con indexDetailsField.

Para especificar solo el factor scale, MongoDB admite el formato heredado:

db.collection.stats(<number>)

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Atlas: El servicio totalmente administrado 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 la compatibilidad de Atlas con 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.

A menos que el nombre de la métrica lo especifique (como "bytes currently in the cache"), los valores relacionados con el tamaño se muestran en bytes y pueden ser anulados por scale.

El factor de escala redondea los valores de tamaño afectados a números enteros.

Según el motor de almacenamiento, los datos devueltos pueden diferir. Para obtener más información sobre los campos, se puede consultar detalles de salida.

Después de un apagado incorrecto de un mongod que utiliza el motor de almacenamiento Wired Tiger, las estadísticas de recuento y tamaño informadas por db.collection.stats() pueden ser inexactas.

La cantidad de deriva depende del número de operaciones de inserción, actualización o eliminación realizadas entre el último punto de control y el apagado no limpio. Los puntos de control suelen ocurrir cada 60 segundos. Sin embargo, las instancias mongod que se ejecutan con configuraciones --syncdelay no por defecto pueden tener puntos de control más o menos frecuentes.

Ejecuta validate en cada colección en el mongod para restaurar las estadísticas después de un apagado no limpio.

Después de un apagado no limpio:

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

Filtrar por indexDetails utilizando indexDetailsKey o indexDetailsName solo devolverá un único índice coincidente. Si no se encuentra una coincidencia exacta, indexDetails mostrará información sobre todos los índices de la colección.

El campo indexDetailsKey acepta un documento con el siguiente formato:

{ '<string>' : <value>, '<string>' : <value>, ... }

Donde <string>> es el campo que está indexado y <value> es la dirección del índice o el tipo de índice especial, como text o 2dsphere. Consulta los tipos de índice para ver la lista completa de los tipos de índice.

Para las instancias de MongoDB que utilizan el motor de almacenamiento WiredTiger, después de un apagado no limpio, las estadísticas de tamaño y conteo pueden diferir hasta en 1000 documentos según lo informado por collStats, dbStats, count. Para efectuar la restauración de las estadísticas correctas para la colección, se debe ejecutar validate en la colección.

El db.collection.stats() incluye información sobre los índices que se están creando actualmente. Para obtener más detalles, consulte:

Los ejemplos de esta página utilizan datos del conjunto de datos sample_mflix. Para obtener más información sobre cómo cargar este conjunto de datos en la implementación autogestionada de MongoDB, consultar Cargar el conjunto de datos de muestra. Si realizó alguna modificación en las bases de datos de muestra, es posible que deba descartar y volver a crear las bases de datos para ejecutar los ejemplos de esta página.

La siguiente operación devuelve estadísticas de la colección de movies en la base de datos sample_mflix:

db.movies.stats()
{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
size: ...,
count: 21349,
avgObjSize: 1598,
storageSize: ...,
nindexes: 2,
totalIndexSize: ...,
totalSize: ...,
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1
}

Si no especifica un parámetro scale, todos los valores de tamaño están en bytes.

La siguiente operación devuelve los valores de tamaño en kilobytes en lugar de bytes al especificar un scale de 1024:

db.movies.stats( { scale : 1024 } )
{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
size: ...,
count: 21349,
avgObjSize: 1598,
storageSize: ...,
nindexes: 2,
totalIndexSize: ...,
totalSize: ...,
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1024
}

La siguiente operación devuelve un campo indexDetails que contiene información relacionada con cada uno de los índices de la colección:

db.movies.stats( { indexDetails : true } )
{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
count: 21349,
nindexes: 2,
indexDetails: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1
}

Para aplicar el filtro a los índices en el campo indexDetails, especificar las claves del índice utilizando la opción indexDetailsKey o especificar el nombre del índice mediante indexDetailsName. Para descubrir las claves y los nombres del índice, utilice db.collection.getIndexes().

Dado el siguiente índice:

{
"ns" : "sample_mflix.movies",
"v" : 2,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "cast_text_fullplot_text_genres_text_title_text",
"weights" : {
"cast" : 1,
"fullplot" : 1,
"genres" : 1,
"title" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 3
}

La siguiente operación filtra el documento indexDetails a un solo índice utilizando la opción indexDetailsKey.

db.movies.stats(
{
'indexDetails' : true,
'indexDetailsKey' :
{
'_fts' : 'text',
'_ftsx' : 1
}
}
)

La siguiente operación filtra el documento indexDetails a un solo índice utilizando la opción indexDetailsName.

db.movies.stats(
{
'indexDetails' : true,
'indexDetailsName' : 'cast_text_fullplot_text_genres_text_title_text'
}
)

Ambas operaciones devuelven el mismo resultado:

{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
count: 21349,
nindexes: 2,
indexDetails: {
cast_text_fullplot_text_genres_text_title_text: ...
},
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1
}

Para obtener una explicación de la salida, consulte detalles de salida.