$collStats (aggregation)
On this page本页内容
Definition定义
$collStats
-
Returns statistics regarding a collection or view.返回有关集合或视图的统计信息。The$collStats
stage has the following prototype form:$collStats
阶段具有以下原型形式:{
$collStats:
{
latencyStats: { histograms: <boolean> },
storageStats: { scale: <number> },
count: {},
queryExecStats: {}
}
}The$collStats
stage accepts an argument document with the following optional fields:$collStats
阶段接受具有以下可选字段的参数文档:Field Name字段名称Description描述latencyStats
Adds latency statistics to the return document.将延迟统计信息添加到返回文档中。latencyStats.histograms
Adds latency histogram information to the embedded documents in如果为latencyStats
iftrue
.true
,则将延迟直方图信息添加到latencyStats
中的嵌入文档中。storageStats
Adds storage statistics to the return document.将存储统计信息添加到返回文档中。Specify an empty document (i.e.指定一个空文档(即storageStats: {}
) to use the default scale factor of 1 for the various size data.storageStats: {}
)以对各种大小的数据使用默认的比例因子1。Scale factor of 1 displays the returned sizes in bytes.比例因子1以字节为单位显示返回的大小。Specify the scale factor (i.e.指定比例因子(即storageStats: { scale: <number> }
) to use the specified scale factor for the various size data.storageStats: { scale: <number> }
)以对各种大小的数据使用指定的比例因子。For example, to display kilobytes rather than bytes, specify a scale value of 1024.例如,要显示千字节而不是字节,请指定1024的比例值。
If you specify a non-integer scale factor, MongoDB uses the integer part of the specified factor.如果指定非整数比例因子,MongoDB将使用指定因子的整数部分。For example, if you specify a scale factor of例如,如果指定的比例因子为1023.999
, MongoDB uses1023
as the scale factor.1023.999
,MongoDB将使用1023
作为比例因子。
The scale factor does not affect those sizes that specify the unit of measurement in the field name, such as比例因子不会影响字段名称中指定测量单位的大小,例如"bytes currently in the cache"
."bytes currently in the cache"
。
count
Adds the total number of documents in the collection to the return document.将集合中的文档总数添加到返回文档中。NoteThe count is based on the collection's metadata, which provides a fast but sometimes inaccurate count for sharded clusters.计数基于集合的元数据,该元数据为分片集群提供了快速但有时不准确的计数。See请参阅count
Fieldcount
字段queryExecStats
Adds query execution statistics to the return document.将查询执行统计信息添加到返回文档中。
New in version 4.4.4.4版新增。For a collection in a replica set or a non-sharded collection in a cluster,对于副本集中的集合或集群中的非分片集合,$collStats
outputs a single document.$collStats
输出单个文档。For a sharded collection,对于分片集合,$collStats
outputs one document per shard. The output document includes the following fields:$collStats
为每个分片输出一个文档。输出文档包括以下字段:Field Name字段名称Description描述ns
The namespace of the requested collection or view.请求的集合或视图的命名空间。shard
The name of the shard the output document corresponds to.输出文档所对应的分片的名称。
Only present when仅当$collStats
runs on a sharded cluster.$collStats
在分片集群上运行时才出现。Both sharded and non-sharded collections will produce this field.分片集合和非分片集合都将生成此字段。host
The hostname and port of the生成输出文档的mongod
process which produced the output document.mongod
进程的主机名和端口。localTime
The current time on the MongoDB server, expressed as UTC milliseconds since the UNIX epoch.MongoDB服务器上的当前时间,表示为自UNIX epoch以来的UTC毫秒。latencyStats
Statistics related to request latency for a collection or view.与集合或视图的请求延迟相关的统计信息。See有关此文档的详细信息,请参阅latencyStats
Document for details on this document.latencyStats
文档。
Only present when the仅在指定latencyStats: {}
option is specified.latencyStats: {}
选项时才出现。storageStats
Statistics related to a collection's storage engine.与集合的存储引擎相关的统计信息。See有关此文档的详细信息,请参阅storageStats
Document for details on this document.storageStats
文档。
The various size data is scaled by the specified factor (with the exception of those sizes that specify the unit of measurement in the field name).各种尺寸数据按指定因子缩放(字段名称中指定测量单位的尺寸除外)。
Only present when the仅在指定了storageStats
option is specified.storageStats
选项时才显示。
Returns an error if applied to a view.如果应用于视图,则返回错误。count
The total number of documents in the collection.集合中的文档总数。This data is also available instorageStats.count
.storageStats.count
中也提供了此数据。NoteThe count is based on the collection's metadata, which provides a fast but sometimes inaccurate count for sharded clusters.计数基于集合的元数据,该元数据为分片集群提供了快速但有时不准确的计数。Only present when the仅在指定了count: {}
option is specified. Returns an error if applied to a view.count: {}
选项时出现。如果应用于视图,则返回错误。queryExecStats
Statistics related to query execution for the collection.与集合的查询执行相关的统计信息。
Only present when the仅在指定queryExecStats: {}
option is specified.queryExecStats: {}
选项时出现。Returns an error if applied to a view.如果应用于视图,则返回错误。
Behavior行为
$collStats
must be the first stage in an aggregation pipeline, or else the pipeline returns an error.必须是聚合管道中的第一个阶段,否则管道将返回错误。
Redaction修改
When using Queryable Encryption, 使用可查询加密时,$collStats
output redacts certain information for encrypted collections:$collStats
输出会对加密集合的某些信息进行编辑:
The output omits输出省略"queryExecStats"
The output omits输出省略"latencyStats"
The output redacts输出对"WiredTiger"
, if present, to include only theurl
field."WiredTiger"
(如果存在)进行编辑,以仅包括url
字段。
Transactions事务
事务记录中不允许有$collStats
is not allowed in transactions.$collStats
。
latencyStats
Document文档
The 如果指定latencyStats
embedded document only exists in the output if you specify the latencyStats
option.latencyStats
选项,则latencyStatis
嵌入文档仅存在于输出中。
reads | |
writes | |
commands | |
transactions |
Each of these fields contains an embedded document bearing the following fields:这些字段中的每一个都包含一个嵌入文档,其中包含以下字段:
latency | |||||||
ops | |||||||
histogram | latencyStats: { histograms: true } option. Empty ranges with a zero count are omitted from the output.latencyStats: { histograms: true } 选项的情况下存在。输出中会省略count 为零的空范围。
histogram: [
|
[1] |
|
For example, if you run 例如,如果在$collStats
with the latencyStats: {}
option on a matrices
collection:matrices
集合上使用latencyStats: {}
选项运行$collStats
:
db.matrices.aggregate( [ { $collStats: { latencyStats: { histograms: true } } } ] )
This query returns a result similar to the following:此查询返回类似于以下内容的结果:
{ "ns" : "test.matrices",
"host" : mongo.example.net:27017",
"localTime" : ISODate("2017-10-06T19:43:56.599Z"),
"latencyStats" :
{ "reads" :
{ "histogram" : [
{ "micros" : NumberLong(16),
"count" : NumberLong(3) },
{ "micros" : NumberLong(32),
"count" : NumberLong(1) },
{ "micros" : NumberLong(128),
"count" : NumberLong(1) } ],
"latency" : NumberLong(264),
"ops" : NumberLong(5) },
"writes" :
{ "histogram" : [
{ "micros" : NumberLong(32),
"count" : NumberLong(1) },
{ "micros" : NumberLong(64),
"count" : NumberLong(3) },
{ "micros" : NumberLong(24576),
"count" : NumberLong(1) } ],
"latency" : NumberLong(27659),
"ops" : NumberLong(5) },
"commands" :
{ "histogram" : [
{
"micros" : NumberLong(196608),
"count" : NumberLong(1)
}
],
"latency" : NumberLong(0),
"ops" : NumberLong(0) },
"transactions" : {
"histogram" : [ ],
"latency" : NumberLong(0),
"ops" : NumberLong(0)
}
}
}
storageStats
Document文档
The 只有在指定storageStats
embedded document only exists in the output if you specify the storageStats
option.storageStats
选项的情况下,storageStat
嵌入文档才会出现在输出中。
The contents of this document are dependent on the storage engine in use. 本文档的内容取决于所使用的存储引擎。See Output for a reference on this document.有关本文档的参考信息,请参阅输出。
For example, if you run 例如,如果使用WiredTiger存储引擎在矩阵集合上运行带有$collStats
with the storageStats: {}
option on a matrices
collection using the WiredTiger Storage Engine:storageStats:{}
选项的$collStats
:
db.matrices.aggregate( [ { $collStats: { storageStats: { } } } ] )
This query returns a result similar to the following:此查询返回类似于以下内容的结果:
{
"ns" : "test.matrices",
"host" : mongo.example.net:27017",
"localTime" : ISODate("2020-03-06T01:44:57.437Z"),
"storageStats" : {
"size" : 608500363,
"count" : 1104369,
"avgObjSize" : 550,
"storageSize" : 352878592,
"freeStorageSize" : 2490380, // Starting in MongoDB 4.4
"capped" : false,
"wiredTiger" : {
...
},
"nindexes" : 2,
"indexDetails" : {
...
},
"indexBuilds" : [
"_id_1_abc_1"
],
"totalIndexSize" : 260337664,
"totalSize" : 613216256, // Starting in MongoDB 4.4
"indexSizes" : {
"_id_" : 9891840,
"_id_1_abc_1" : 250445824
},
"scaleFactor" : 1
}
}
See Output for a reference on this document.有关本文档的参考信息,请参阅输出。
In-progress Indexes进行中索引
The returned 返回的storageStats
includes information on indexes being built. storageStats
包括有关正在构建的索引的信息。For details, see:有关详细信息,请参阅:
Performing 在视图上使用$collStats
with the storageStats
option on a view results in an error.storageStats
选项执行$collStats
会导致错误。
count
Field字段
The 如果指定了count
field only exists in the output if you specify the count
option.count
选项,则count
字段仅存在于输出中。
For example, if you run 例如,如果在$collStats
with the count: {}
option on a matrices
collection:matrices
集合上使用count: {}
选项运行$collStats
:
db.matrices.aggregate( [ { $collStats: { count: { } } } ] )
The query returns a result similar to the following:查询返回类似于以下内容的结果:
{
"ns" : "test.matrices",
"host" : mongo.example.net:27017",
"localTime" : ISODate("2017-10-06T19:43:56.599Z"),
"count" : 1103869
}
The count is based on the collection's metadata, which provides a fast but sometimes inaccurate count for sharded clusters.计数基于集合的元数据,该元数据为分片集群提供了快速但有时不准确的计数。
The total number of documents in the collection is also available as 指定storageStats.count
when storageStats: {}
is specified. storageStats:{}
时,集合中的文档总数也可用作storageStats.count
。For more information, see 有关更多信息,请参阅storageStats
Document.storageStats
文档。
queryExecStats
Document文档
New in version 4.4. 4.4版新增。
The 只有在指定queryExecStats
embedded document only exists in the output if you specify the queryExecStats
option.queryExecStats
选项的情况下,queryExecStat
嵌入文档才会存在于输出中。
The collectionScans
field contains an embedded document bearing the following fields:collectionScans
字段包含包含以下字段的嵌入文档:
total | |
nonTailable |
For example, if you run 例如,如果在矩阵集合上使用$collStats
with the queryExecStats: {}
option on a matrices
collection:queryExecStats:{}
选项运行$collStats
:
db.matrices.aggregate( [ { $collStats: { queryExecStats: { } } } ] )
The query returns a result similar to the following:查询返回类似于以下内容的结果:
{
"ns": "test.matrices",
"host": "mongo.example.net:27017",
"localTime": ISODate("2020-06-03T14:23:29.711Z"),
"queryExecStats": {
"collectionScans": {
"total": NumberLong(33),
"nonTailable": NumberLong(31)
}
}
}
$collStats
on Sharded Collections分片集合上的$collStats
$collStats
on Sharded Collections$collStats
outputs one document per shard when run on sharded collections. 在分片集合上运行时,每个分片输出一个文档。Each output document contains a 每个输出文档都包含一个shard
field with the name of the shard the document corresponds to.shard
字段,该字段具有文档所对应的分片的名称。
For example, if you run 例如,如果您在名为$collStats
on a sharded collection with the count: {}
option on a collection named matrices
:matrices
的集合上使用count: {}
选项对分片集合运行$collStats
:
db.matrices.aggregate( [ { $collStats: { count: { } } } ] )
The query returns a result similar to the following:查询返回类似于以下内容的结果:
{
"ns" : "test.matrices",
"shard" : "s1",
"host" : "s1-mongo1.example.net:27017",
"localTime" : ISODate("2017-10-06T15:14:21.258Z"),
"count" : 661705
}
{
"ns" : "test.matrices",
"shard" : "s2",
"host" : "s2-mongo1.example.net:27017",
"localTime" : ISODate("2017-10-06T15:14:21.258Z"),
"count" : 442164
}