Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.stats()

在此页面上

  • 说明
  • 兼容性
  • 参数
  • 输出
  • 行为
  • 示例
db.stats(scale)

返回反映单个数据库使用状态的统计信息。

db.stats() 方法是 dbStats 数据库命令的包装器。

此方法可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

此命令在 M 0 、 M 2和 M 5集群中提供有限支持。 有关更多信息,请参阅不支持的命令。

db.stats() 方法具有以下可选参数:

Parameter
类型
说明

数字

可选。各种大小数据的比例因子。scale 默认为 1,以字节为单位返回大小数据。要显示千字节而不是字节,请指定 1024scale 值。

如果指定了非整数比例因子,MongoDB 将使用该因子的整数部分。例如,如果指定比例因子为 1023.999,MongoDB 将使用 1023 作为比例因子。

从版本 4.2 开始,输出包括用于缩放大小值的 scaleFactor

数字

可选。要返回分配给集合的可用空间信息,请将 freeStorage 设置为 1。

如果实例有大量集合或索引,获取可用空间使用情况数据可能会导致处理延迟。 要收集没有可用空间详细信息的db.stats() 数据,请将freeStorage 设立为0 或不包含该参数。

db.stats() 方法返回包含数据库系统状态统计信息的文档。包括 freeStorage 详细信息在内的完整列表类似下文内容:

{
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 })
}

有关输出的解释,请参阅输出。

使用 Wired Tiger 存储引擎非正常关闭 mongod 后,db.stats() 报告的计数和大小统计数据可能不准确。

偏差的大小取决于在最后一个检查点和非正常关闭之间执行的插入、更新或删除操作的次数。检查点通常每 60 秒出现一次。但是,如果 mongod 实例使用了非默认的 --syncdelay 设置,则检查点出现的次数可能会增多或减少。

mongod 的每个集合上运行 validate,以在非正常关闭之后恢复统计信息。

非正常关闭后:

要在副本集成员上运行,dbStats 操作需要成员处于 PRIMARYSECONDARY 状态。如果节点处于其他状态,如 STARTUP2,则操作错误。

要以千字节为单位返回值,请将扩展位数设立为1024

db.stats(1024)

注意

该比例因子会将值四舍五入为整数。

要返回单个值(如 indexSize),请将字段名附加到 db.stats() 后面。

db.stats().indexSize
db.stats(1024).indexSize

输出显示原始值和缩放值的差值。

118784
116

要返回分配给集合的可用空间信息,请将 freeStorage 参数传递给 db.stats()

以下示例返回以 KB 为单位的 indexFreeStorageSize

db.stats( { freeStorage: 1, scale: 1024 } ).indexFreeStorageSize

后退

db.shutdownServer