Descripción
db.stats(scale)Devuelve estadísticas que reflejan el estado de uso de un solo base de datos.
El método
db.stats()es un contenedor alrededor del comando de base de datosdbStats.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Importante
Este comando tiene soporte limitado en los clústeres Flex y M0. Para obtener más información, consulta 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.
Parámetros
El método tiene los siguientes parámetros db.stats() opcionales:
Parameter | Tipo | Descripción |
|---|---|---|
Número | Opcional. El factor de escala para los datos de los distintos tamaños. El 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 A partir de la versión 4.2, la salida incluye el | |
Número | Opcional. Para obtener información sobre el espacio libre asignado a las colecciones, establezca Si la instancia tiene una gran cantidad de colecciones o índices, obtener datos de uso del espacio libre puede causar retrasos en el procesamiento. Para recopilar |
Salida
El método db.stats() devuelve un documento con estadísticas sobre el estado del sistema de base de datos. Una lista completa, incluyendo los detalles de freeStorage, se asemeja a la siguiente:
{ db: 'test', collections: 2, views: 0, objects: 1689, avgObjSize: 52.56542332741267, dataSize: 86.7021484375, storageSize: 100, freeStorageSize: 32, indexes: 2, indexSize: 116, indexFreeStorageSize: 36, totalSize: 216, totalFreeStorageSize: 68, scaleFactor: 1024, fsUsedSize: 60155820, fsTotalSize: 61255492, ok: 1, '$clusterTime': { clusterTime: Timestamp({ t: 1646085664, i: 1 }), signature: { hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0), keyId: Long("0") } }, operationTime: Timestamp({ t: 1646085664, i: 1 }) }
Para obtener una explicación de la salida, consulte Salida.
Comportamiento
Precisión tras un apagado inesperado
Después de un cierre no limpio de un mongod que utiliza el motor de almacenamiento WiredTiger, las estadísticas de conteo y tamaño informadas por db.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:
Restricción del estado del set de réplicas
Para que se ejecuten en un set de réplicas, las operaciones de dbStats 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.
Ejemplos
Scale Output Values
Para devolver valores en kilobytes, establezca la escala 1024en:
db.stats(1024)
Nota
El factor de escala redondea los valores a números enteros.
Devolver un valor único
Para devolver un solo valor, como, agregue el nombre del indexSize campo db.stats() a.
db.stats().indexSize db.stats(1024).indexSize
La salida muestra la diferencia entre los valores originales y los escalados.
118784 116
Información de devolución sobre el espacio libre asignado a las colecciones
Para devolver información sobre el espacio libre asignado a las colecciones, pase el parámetro freeStorage db.stats() a.
El siguiente ejemplo devuelve en indexFreeStorageSize kilobytes:
db.stats( { freeStorage: 1, scale: 1024 } ).indexFreeStorageSize