$collStats
$collStats
返回给定集合的统计信息。 $collstats
必须是聚合管道中的第一阶段。 有关更多信息,请参阅 $collStats 。 在Data Federation中, $collStats
只能用于检索有关给定集合或视图的分区信息。
语法
在 Atlas Data Federation 中, $collStats接受空文档。 它仅支持可选字段count
,如果指定了不支持的选项,则会返回错误。
db.<collection-name>|<view-name>.aggregate([{ "$collStats" : { "count" : {} } }])
字段
字段 | 类型 | 说明 | 必要性 |
---|---|---|---|
count | 文档 | 将分区中的文档总数添加到返回文档中。 | Optional |
输出
$collStats
为每个分区返回文档中的以下字段:
字段 | 类型 | 说明 | |
---|---|---|---|
count | 数字 | 分区中的文档总数。 This is returned only if you specify the count option. | |
ns | 字符串 | 当前collection或视图的命名空间,格式为 [database].[collection|view] 。 | |
partition | 文档 | 有关分区的详细信息,如源、格式、大小和分区属性(如果有)。 | |
partition.format | 字符串 | ||
partition.attributes | 文档 | path 在云存储分区的 中定义的此分区的分区属性。空文档表示分区的数据源中没有分区属性。 | |
partition.size | int | 分区的大小。 | |
partition.source | 字符串 | 分区的源。 该值可以是以下之一:
| |
partition.version | 字符串 | Atlas 集群的 MongoDB 版本。
例如: |
示例
以下示例显示了 $collStats 语法,用于从云存储联合数据库实例存储中包含s3Db.abc
3文件的 集合中检索分区:
use s3Db db.abc.aggregate([ {$collStats: {}} ])
上述命令会返回以下输出:
{ "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2018) }, "size" : 139, "source" : "s3://my-bucket/s3Db/abc/2018/1.json?delimiter=%2F®ion=us-east-1" } } { "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2017) }, "size" : 124, "source" : "s3://my-bucket/s3Db/abc/2017/1.json?delimiter=%2F®ion=us-east-1" } } { "ns" : "s3Db.abc", "partition" : { "format" : "JSON", "attributes" : { "year" : NumberLong(2017) }, "size" : 130, "source" : "s3://my-bucket/s3Db/abc/2017/2.json?delimiter=%2F®ion=us-east-1" } }
以下示例显示了用于从名为mySandboxCluster
的Atlas 集群的atlasDb.sampleColl
集合中检索分区的$collStats语法:
use atlasDb db.sampleColl.aggregate([ {$collStats: {}} ])
上述命令会返回以下输出:
{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" } }
以下示例显示了用于检索分区中文档总数的$collStats语法。
use s3Db db.abc.aggregate([ {$collStats: {"count" : {} }} ])
上述命令会返回以下输出:
{ "ns" : "atlasDb.sampleColl", "partition" : { "format" : "MONGO", "attributes" : { }, "size" : 94362191, "source" : "mySandboxCluster" }, "count" : 23530}
Errors
如果collStats参数文档包含 MongoDB Server 允许但 Atlas Data Federation 不允许的任何选项,则会返回类似以下内容的错误。
{ "ok" : 0, "errmsg" : "$collStats param 'latencyStats' is not valid for Data Federation, correlationID = 1622929884a47d16f4888a1c", "code" : 9, "codeName" : "FailedToParse" }