MongoDB聚合:$shardedDataDistribution
$shardedDataDistribution
阶段是从6.0.3开始支持的,用于返回分片集合中数据分布的信息。该聚合阶段必须在admin
数据库上运行,且用户必须拥有shardedDataDistribution
操作权限。
语法
db.aggregate( [
{ $shardedDataDistribution: { } }
] )
用法
$shardedDataDistribution
阶段会为数据库中的每个分片集合输出一个文档数组。这些文档包含以下字段:
|字段名|字段类型|说明|
|-|-|
|ns
|string|分片集合的命名空间|
|shards
|每个集合中的分区和数据的分布信息|
|shards.numOrphanedDocs
|integer|分区内无主文件的数量|
|shards.numOwnedDocuments
|integer|分片拥有的文件数量|
|shards.ownedSizeBytes
|integer|分片所有文件的存储空间,以字节为单位|
|shards.orphanedSizeBytes
|integer|分区内无主文件的存储空间(以字节为单位)|
举例
db.aggregate( [
{ $shardedDataDistribution: { } }
] )
输出结果:
[
{
"ns": "test.names",
"shards": [
{
"shardName": "shard-1",
"numOrphanedDocs": 0,
"numOwnedDocuments": 6,
"ownedSizeBytes": 366,
"orphanedSizeBytes": 0
},
{
"shardName": "shard-2",
"numOrphanedDocs": 0,
"numOwnedDocuments": 6,
"ownedSizeBytes": 366,
"orphanedSizeBytes": 0
}
]
}
]