db.collection.stats()

在本页面

Definition

  • db.collection. stats(比例尺|选项)
    • 返回有关集合的统计信息。该方法包括以下参数:
ParameterTypeDescription
scalenumber可选的。输出中用于显示项目大小的比例。默认情况下,输出以bytes显示大小。要显示千字节而不是字节,请指定scale1024

在版本 3.0 中更改:旧版参数格式。与options作为文档互斥。
options文档可选。替代scale参数。使用options文档指定选项,包括scale
3.0 版中的新功能。

options文档可以包含以下字段和值:

FieldTypeDescription
scalenumber可选的。输出中用于显示项目大小的比例。默认情况下,输出以字节为单位显示大小。要显示千字节而不是字节,请指定scale1024


3.0 版中的新功能。
| indexDetails |布尔值|可选。如果是true,则db.collection.stats()除了返回集合统计信息外,还会返回index details
仅适用于WiredTiger存储引擎。
默认为false
3.0 版中的新功能。
| indexDetailsKey |文档|可选。如果indexDetailstrue,则可以使用indexDetailsKey通过指定索引键规范来过滤索引详细信息。仅返回与indexDetailsKey完全匹配的索引。
如果找不到匹配项,indexDetails将显示所有索引的统计信息。
使用getIndexes()查找索引键。您不能将indexDetailsKeyindexDetailsName结合使用。
3.0 版中的新功能。
| indexDetailsName |字符串|可选。如果indexDetailstrue,则可以使用indexDetailsName通过指定索引name来过滤索引详细信息。仅返回与indexDetailsName完全匹配的索引名称。
如果找不到匹配项,indexDetails将显示所有索引的统计信息。
使用getIndexes()查找索引名称。您不能将indexDetailsNameindexDetailsField结合使用。
3.0 版中的新功能。

Returns:document,其中包含有关指定集合的统计信息。有关返回的统计信息的细分,请参见collStats

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

Behavior

此方法返回具有与当前mongod实例相关的统计信息的 JSON 文档。除非键名另外指定,否则与大小相关的值以字节显示,并且可以被scale覆盖。

Note

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

根据存储引擎的不同,返回的数据可能会有所不同。有关字段的详细信息,请参见output details

意外关机后的准确度

使用Wired Tiger存储引擎对mongod进行异常清除后,db.collection.stats()报告的计数和大小统计信息可能不准确。

漂移量取决于在最后一个checkpoint和不正常关机之间执行的插入,更新或删除操作的数量。检查点通常每 60 秒出现一次。但是,以非默认--syncdelay设置运行的mongod实例可能具有或多或少的频繁检查点。

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

索引过滤器行为

使用indexDetailsKeyindexDetailsNameindexDetails上进行过滤只会返回一个匹配的索引。如果未找到完全匹配的内容,indexDetails将显示有关该集合的所有索引的信息。

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

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

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

意外关机和计数

对于使用WiredTiger存储引擎的 MongoDB 实例,在异常关闭后,如collStatsdbStatscount所报告的,大小和计数统计信息可能多达 1000 个。要恢复集合的正确统计信息,请在集合上运行validate

Examples

Note

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

基本统计信息查询

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

db.restaurants.stats()

该操作返回:

{
    "ns" : "guidebook.restaurants",
   "count" : 25359,
   "size" : 10630398,
   "avgObjSize" : 419,
   "storageSize" : 4104192
   "capped" : false,
   "wiredTiger" : {
         "metadata" : {
            "formatVersion" : 1
         },
         "creationString" : "allocation_size=4KB,app_metadata=(formatVersion=1),block_allocation=best,block_compressor=snappy,cache_resident=0,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=0,extractor=,format=btree,huffman_key=,huffman_value=,immutable=0,internal_item_max=0,internal_key_max=0,internal_key_truncate=,internal_page_max=4KB,key_format=q,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=64MB,log=(enabled=),lsm=(auto_throttle=,bloom=,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=10m,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=0,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,type=file,value_format=u",
         "type" : "file",
         "uri" : "statistics:table:collection-2-7253336746667145592",
         "LSM" : {
            "bloom filters in the LSM tree" : 0,
            "bloom filter false positives" : 0,
            "bloom filter hits" : 0,
            "bloom filter misses" : 0,
            "bloom filter pages evicted from cache" : 0,
            "bloom filter pages read into cache" : 0,
            "total size of bloom filters" : 0,
            "sleep for LSM checkpoint throttle" : 0,
            "chunks in the LSM tree" : 0,
            "highest merge generation in the LSM tree" : 0,
            "queries that could have benefited from a Bloom filter that did not exist" : 0,
            "sleep for LSM merge throttle" : 0
         },
         "block-manager" : {
            "file allocation unit size" : 4096,
            "blocks allocated" : 338,
            "checkpoint size" : 4096000,
            "allocations requiring file extension" : 338,
            "blocks freed" : 0,
            "file magic number" : 120897,
            "file major version number" : 1,
            "minor version number" : 0,
            "file bytes available for reuse" : 0,
            "file size in bytes" : 4104192
         },
         "btree" : {
            "btree checkpoint generation" : 15,
            "column-store variable-size deleted values" : 0,
            "column-store fixed-size leaf pages" : 0,
            "column-store internal pages" : 0,
            "column-store variable-size leaf pages" : 0,
            "pages rewritten by compaction" : 0,
            "number of key/value pairs" : 0,
            "fixed-record size" : 0,
            "maximum tree depth" : 3,
            "maximum internal page key size" : 368,
            "maximum internal page size" : 4096,
            "maximum leaf page key size" : 3276,
            "maximum leaf page size" : 32768,
            "maximum leaf page value size" : 67108864,
            "overflow pages" : 0,
            "row-store internal pages" : 0,
            "row-store leaf pages" : 0
         },
         "cache" : {
            "bytes read into cache" : 9309503,
            "bytes written from cache" : 10817368,
            "checkpoint blocked page eviction" : 0,
            "unmodified pages evicted" : 0,
            "page split during eviction deepened the tree" : 0,
            "modified pages evicted" : 1,
            "data source pages selected for eviction unable to be evicted" : 0,
            "hazard pointer blocked page eviction" : 0,
            "internal pages evicted" : 0,
            "pages split during eviction" : 1,
            "in-memory page splits" : 1,
            "overflow values cached in memory" : 0,
            "pages read into cache" : 287,
            "overflow pages read into cache" : 0,
            "pages written from cache" : 337
         },
         "compression" : {
            "raw compression call failed, no additional data available" : 0,
            "raw compression call failed, additional data available" : 0,
            "raw compression call succeeded" : 0,
            "compressed pages read" : 287,
            "compressed pages written" : 333,
            "page written failed to compress" : 0,
            "page written was too small to compress" : 4
         },
         "cursor" : {
            "create calls" : 1,
            "insert calls" : 25359,
            "bulk-loaded cursor-insert calls" : 0,
            "cursor-insert key and value bytes inserted" : 10697901,
            "next calls" : 76085,
            "prev calls" : 1,
            "remove calls" : 0,
            "cursor-remove key bytes removed" : 0,
            "reset calls" : 25959,
            "restarted searches" : 0,
            "search calls" : 0,
            "search near calls" : 594,
            "update calls" : 0,
            "cursor-update value bytes updated" : 0
         },
         "reconciliation" : {
            "dictionary matches" : 0,
            "internal page multi-block writes" : 1,
            "leaf page multi-block writes" : 2,
            "maximum blocks required for a page" : 47,
            "internal-page overflow keys" : 0,
            "leaf-page overflow keys" : 0,
            "overflow values written" : 0,
            "pages deleted" : 0,
            "page checksum matches" : 0,
            "page reconciliation calls" : 4,
            "page reconciliation calls for eviction" : 1,
            "leaf page key bytes discarded using prefix compression" : 0,
            "internal page key bytes discarded using suffix compression" : 333
         },
         "session" : {
            "object compaction" : 0,
            "open cursor count" : 1
         },
         "transaction" : {
            "update conflicts" : 0
         }
      },
      "nindexes" : 4,
      "totalIndexSize" : 626688,
      "indexSizes" : {
         "_id_" : 217088,
         "borough_1_cuisine_1" : 139264,
         "cuisine_1" : 131072,
         "borough_1_address.zipcode_1" : 139264
      },
      "ok" : 1
 }

由于统计信息未提供 scale 参数,因此所有大小值均位于bytes中。

具有比例的统计查询

以下操作通过将scale指定为1024将数据的大小从bytes更改为kilobytes

db.restaurants.stats( { scale : 1024 } )

该操作返回:

{
   "ns" : "guidebook.restaurants",
   "count" : 25359,
   "size" : 10381,
   "avgObjSize" : 419,
   "storageSize" : 4008,
   "capped" : false,
   "wiredTiger" : {
      ...
   },
   "nindexes" : 4,
   "totalIndexSize" : 612,
   "indexSizes" : {
      "_id_" : 212,
      "borough_1_cuisine_1" : 136,
      "cuisine_1" : 128,
      "borough_1_address.zipcode_1" : 136
   },
   "ok" : 1
}

具有索引详细信息的统计信息查找

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

db.restaurant.stats( { indexDetails : true } )

该操作返回:

{
   "ns" : "guidebook.restaurants",
   "count" : 25359,
   "size" : 10630398,
   "avgObjSize" : 419,
   "storageSize" : 4104192,
   "capped" : false,
   "wiredTiger" : {
      ...
   },
   "nindexes" : 4,
   "indexDetails" : {
      "_id_" : {
         "metadata" : {
            "formatVersion" : 6,
            "infoObj" : "{ \"v\" : 1, \"key\" : { \"_id\" : 1 }, \"name\" : \"_id_\", \"ns\" : \"blogs.posts\" }"
         },
         "creationString" : "allocation_size=4KB,app_metadata=(formatVersion=6,infoObj={ \"v\" : 1, \"key\" : { \"_id\" : 1 }, \"name\" : \"_id_\", \"ns\" : \"blogs.posts\" }),block_allocation=best,block_compressor=,cache_resident=0,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=0,extractor=,format=btree,huffman_key=,huffman_value=,immutable=0,internal_item_max=0,internal_key_max=0,internal_key_truncate=,internal_page_max=16k,key_format=u,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=16k,leaf_value_max=0,log=(enabled=),lsm=(auto_throttle=,bloom=,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=true,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=75,type=file,value_format=u",
         "type" : "file",
         "uri" : "statistics:table:index-3-7253336746667145592",
         "LSM" : {
            ...
         },
         "block-manager" : {
            ...
         },
         "btree" : {
            ...
         },
         "cache" : {
            ...
         },
         "compression" : {
            ...
         },
         "cursor" : {
            ...
         },
         "reconciliation" : {
            ...
         },
         "session" : {
            ...
         },
         "transaction" : {
            ...
         }
      },
      "borough_1_cuisine_1" : {
         "metadata" : {
            "formatVersion" : 6,
            "infoObj" : "{ \"v\" : 1, \"key\" : { \"borough\" : 1, \"cuisine\" : 1 }, \"name\" : \"borough_1_cuisine_1\", \"ns\" : \"blogs.posts\" }"
         },
         "creationString" : "allocation_size=4KB,app_metadata=(formatVersion=6,infoObj={ \"v\" : 1, \"key\" : { \"borough\" : 1, \"cuisine\" : 1 }, \"name\" : \"borough_1_cuisine_1\", \"ns\" : \"blogs.posts\" }),block_allocation=best,block_compressor=,cache_resident=0,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=0,extractor=,format=btree,huffman_key=,huffman_value=,immutable=0,internal_item_max=0,internal_key_max=0,internal_key_truncate=,internal_page_max=16k,key_format=u,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=16k,leaf_value_max=0,log=(enabled=),lsm=(auto_throttle=,bloom=,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=true,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=75,type=file,value_format=u",
         "type" : "file",
         "uri" : "statistics:table:index-4-7253336746667145592",
         "LSM" : {
            ...
         },
         "block-manager" : {
            ...
         },
         "btree" : {
            ...
         },
         "cache" : {
            ...
         },
         "compression" : {
            ...
         },
         "cursor" : {
            ...
         },
         "reconciliation" : {
            ...
         },
         "session" : {
            "object compaction" : 0,
            "open cursor count" : 0
         },
         "transaction" : {
            "update conflicts" : 0
         }
      },
      "cuisine_1" : {
         "metadata" : {
            "formatVersion" : 6,
            "infoObj" : "{ \"v\" : 1, \"key\" : { \"cuisine\" : 1 }, \"name\" : \"cuisine_1\", \"ns\" : \"blogs.posts\" }"
         },
         "creationString" : "allocation_size=4KB,app_metadata=(formatVersion=6,infoObj={ \"v\" : 1, \"key\" : { \"cuisine\" : 1 }, \"name\" : \"cuisine_1\", \"ns\" : \"blogs.posts\" }),block_allocation=best,block_compressor=,cache_resident=0,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=0,extractor=,format=btree,huffman_key=,huffman_value=,immutable=0,internal_item_max=0,internal_key_max=0,internal_key_truncate=,internal_page_max=16k,key_format=u,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=16k,leaf_value_max=0,log=(enabled=),lsm=(auto_throttle=,bloom=,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=true,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=75,type=file,value_format=u",
         "type" : "file",
         "uri" : "statistics:table:index-5-7253336746667145592",
         "LSM" : {
            ...
         },
         "block-manager" : {
            ...
         },
         "btree" : {
            ...
         },
         "cache" : {
            ...
         },
         "compression" : {
            ...
         },
         "cursor" : {
            ...
         },
         "reconciliation" : {
            ...
         },
         "session" : {
            ...
         },
         "transaction" : {
            ...
         }
      },
      "borough_1_address.zipcode_1" : {
         "metadata" : {
            "formatVersion" : 6,
            "infoObj" : "{ \"v\" : 1, \"key\" : { \"borough\" : 1, \"address.zipcode\" : 1 }, \"name\" : \"borough_1_address.zipcode_1\", \"ns\" : \"blogs.posts\" }"
         },
         "creationString" : "allocation_size=4KB,app_metadata=(formatVersion=6,infoObj={ \"v\" : 1, \"key\" : { \"borough\" : 1, \"address.zipcode\" : 1 }, \"name\" : \"borough_1_address.zipcode_1\", \"ns\" : \"blogs.posts\" }),block_allocation=best,block_compressor=,cache_resident=0,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=0,extractor=,format=btree,huffman_key=,huffman_value=,immutable=0,internal_item_max=0,internal_key_max=0,internal_key_truncate=,internal_page_max=16k,key_format=u,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=16k,leaf_value_max=0,log=(enabled=),lsm=(auto_throttle=,bloom=,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=true,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=75,type=file,value_format=u",
         "type" : "file",
         "uri" : "statistics:table:index-6-7253336746667145592",
         "LSM" : {
            ...
         },
         "block-manager" : {
            ...
         },
         "btree" : {
            ...
         },
         "cache" : {
            ...
         },
         "compression" : {
            ...
         },
         "cursor" : {
            ...
         },
         "reconciliation" : {
            ...
         },
         "session" : {
            ...
         },
         "transaction" : {
            ...
         }
      }
   },
   "totalIndexSize" : 626688,
   "indexSizes" : {
      "_id_" : 217088,
      "borough_1_cuisine_1" : 139264,
      "cuisine_1" : 131072,
      "borough_1_address.zipcode_1" : 139264
   },
   "ok" : 1
}

具有筛选的索引详细信息的统计信息查找

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

给定以下索引:

{
   "ns" : "guidebook.restaurants",
   "v" : 1,
   "key" : {
      "borough" : 1,
      "cuisine" : 1
   },
   "name" : "borough_1_cuisine_1"
}

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

db.restaurants.stats(
   {
      'indexDetails' : true,
      'indexDetailsKey' :
      {
         'borough' : 1,
         'cuisine' : 1
      }
   }
)

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

db.restaurants.stats(
   {
      'indexDetails' : true,
      'indexDetailsName' : 'borough_1_cuisine_1'
   }
)

这两个操作将返回相同的输出:

{
   "ns" : "blogs.restaurants",
   "count" : 25359,
   "size" : 10630398,
   "avgObjSize" : 419,
   "storageSize" : 4104192,
   "capped" : false,
   "wiredTiger" : {
      ...
   },
   "nindexes" : 4,
   "indexDetails" : {
      "borough_1_cuisine_1" : {
         "metadata" : {
            "formatVersion" : 6,
            "infoObj" : "{ \"v\" : 1, \"key\" : { \"borough\" : 1, \"cuisine\" : 1 }, \"name\" : \"borough_1_cuisine_1\", \"ns\" : \"blogs.posts\" }"
         },
         "creationString" : "allocation_size=4KB,app_metadata=(formatVersion=6,infoObj={ \"v\" : 1, \"key\" : { \"borough\" : 1, \"cuisine\" : 1 }, \"name\" : \"borough_1_cuisine_1\", \"ns\" : \"blogs.posts\" }),block_allocation=best,block_compressor=,cache_resident=0,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=0,extractor=,format=btree,huffman_key=,huffman_value=,immutable=0,internal_item_max=0,internal_key_max=0,internal_key_truncate=,internal_page_max=16k,key_format=u,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=16k,leaf_value_max=0,log=(enabled=),lsm=(auto_throttle=,bloom=,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=0,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=5MB,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=true,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=75,type=file,value_format=u",
         "type" : "file",
         "uri" : "statistics:table:index-4-7253336746667145592",
         "LSM" : {
            ...
         },
         "block-manager" : {
            ...
         },
         "btree" : {
            ...
         },
         "cache" : {
            ...
         },
         "compression" : {
            ...
         },
         "cursor" : {
            ...
         },
         "reconciliation" : {
            ...
         },
         "session" : {
            ...
         },
         "transaction" : {
            ...
         }
      }
   },
   "totalIndexSize" : 626688,
   "indexSizes" : {
      "_id_" : 217088,
      "borough_1_cuisine_1" : 139264,
      "cuisine_1" : 131072,
      "borough_1_address.zipcode_1" : 139264
   },
   "ok" : 1
}

有关输出的说明,请参见output details

See also