db.collection.stats()

在本页面

定义

  • db.collection. stats(选项)

返回有关集合的统计信息。

该方法包括以下参数:

参数
类型
描述

scale

number

可选的。输出中使用的比例显示项目的大小。默认情况下,输出显示bytes中的大小。要显示千字节而不是字节,请指定1024 value 1024。 如果您指定非整数比例因子,则MongoDB将使用指定因子的整数部分。例如,如果将比例因子指定为1023.999,则MongoDB将使用1023该比例因子。 从4.2版开始,输出包括scaleFactor 用于缩放大小值的输出。

indexDetails

boolean

可选的。如果为true,则db.collection.stats()除收集统计信息外,还返回 index details 仅适用于WiredTiger存储引擎。 默认为false

indexDetailsKey

document

可选的。如果indexDetailstrue,则可以使用indexDetailsKey通过指定索引 key 规范来过滤索引详细信息。只返回与indexDetailsKey完全匹配的索引。 如果找不到匹配项,indexDetails将显示所有索引的统计信息。 使用getIndexes()发现索引键。你不能将indexDetailsKeyindexDetailsName一起使用。

indexDetailsName

string

可选的。如果indexDetailstrue,则可以使用indexDetailsName通过指定索引name来过滤索引详细信息。只返回与indexDetailsName完全匹配的索引名称。 如果找不到匹配项,indexDetails将显示所有索引的统计信息。 使用getIndexes()来发现索引名称。你不能将indexDetailsNameindexDetailsField一起使用。

仅指定scale因素,MongoDB支持旧格式:

db.collection.stats(<number>)

返回值:

包含有关指定集合的统计信息的文档。请参阅collStats以获取返回统计信息的细分。

db.collection.stats()方法提供了围绕数据库命令的包装collStats

行为

缩放大小

除非度量标准名称(例如"bytes currently in the cache" )另外指定,与大小相关的值以字节为单位显示,可以按比例覆盖。

比例因子将受影响的大小值四舍五入为整数。

存储引擎

根据存储引擎,返回的数据可能不同。有关字段的详细信息,请参阅输出详细信息。

意外关机后的准确性

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

偏移量取决于在最后检查站和不干净关闭之间执行的 insert,update 或 delete 操作的数量。检查点通常每 60 秒发生一次。但是,使用 non-default --syncdelay设置运行mongod实例可能会有更多或更少的检查点。

在mongod上的每个集合上运行验证以在不正常关闭后恢复正确的统计信息。

索引过滤器行为

使用indexDetailsKeyindexDetailsName过滤indexDetails将仅_return 单个匹配的索引。如果未找到确切的 match,indexDetails将显示有关集合的所有索引的信息。

indexDetailsKey字段采用以下形式的文档:

其中<string>是索引的字段,<value>是索引的方向,或特殊索引类型,如text2dsphere。有关索引类型的完整列表,请参见索引类型。

意外停机和计数

对于使用WiredTiger存储引擎的 MongoDB 实例,在不正常关闭后,大小和计数的统计信息可能会被collStats,dbStats,计数报告最多 1000 个文档。要恢复集合的正确统计信息,请在集合上运行 run 验证。

进行中索引

从MongoDB 4.2开始,db.collection.stats包括有关当前正在构建的索引的信息。有关详细信息,请参见:

  • collStats.nindexes

  • collStats.indexDetails

  • collStats.indexBuilds

  • collStats.totalIndexSize

  • collStats.indexSizes

例子

注意

您可以在入门指南中找到用于这些示例的集合数据

基本统计查询

以下操作返回restaurants集合上的统计信息:

操作返回:

由于统计数据未给出比例参数,因此所有大小值都在bytes中。

带有比例的统计查询

以下操作通过指定scalescale来更改从byteskilobytes的数据比例:

操作返回:

带索引详细信息的统计查找

以下操作将创建一个indexDetails文档,其中包含与集合中每个索引相关的信息:

操作返回:

带有过滤索引详细信息的统计信息查找

要过滤indexDetails字段中的索引,可以使用indexDetailsKey选项指定索引键,也可以使用indexDetailsName指定索引 name。要发现集合的索引键和名称,请使用db.collection.getIndexes()。

给定以下索引:

以下操作将indexDetails文档过滤为indexDetailsKey文档定义的单个索引。

以下操作将indexDetails文档过滤为indexDetailsName文档定义的单个索引。

两个操作都会 return 相同的输出:

有关输出的说明,请参阅输出细节。

也可以看看

$collStats

译者:李冠飞

校对:

最后更新于