db.collection.getShardDistribution()
定义
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
重要
M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
getShardDistribution()
方法采用以下形式:
db.collection.getShardDistribution()
输出
样本输出
下面是分片集合的分布输出示例:
Shard shard-a at shard-a/MyMachine.local:30000,MyMachine.local:30001,MyMachine.local:30002 data : 38.14Mb docs : 1000003 chunks : 2 estimated data per chunk : 19.07Mb estimated docs per chunk : 500001 Shard shard-b at shard-b/MyMachine.local:30100,MyMachine.local:30101,MyMachine.local:30102 data : 38.14Mb docs : 999999 chunks : 3 estimated data per chunk : 12.71Mb estimated docs per chunk : 333333 Totals data : 76.29Mb docs : 2000002 chunks : 5 Shard shard-a contains 50% data, 50% docs in cluster, avg obj size on shard : 40b Shard shard-b contains 49.99% data, 49.99% docs in cluster, avg obj size on shard : 40b
输出字段
Shard <shard-a> at <host-a> data : <size-a> docs : <count-a> chunks : <number of chunks-a> estimated data per chunk : <size-a>/<number of chunks-a> estimated docs per chunk : <count-a>/<number of chunks-a> Shard <shard-b> at <host-b> data : <size-b> docs : <count-b> chunks : <number of chunks-b> estimated data per chunk : <size-b>/<number of chunks-b> estimated docs per chunk : <count-b>/<number of chunks-b> Totals data : <stats.size> docs : <stats.count> chunks : <calc total chunks> Shard <shard-a> contains <estDataPercent-a>% data, <estDocPercent-a>% docs in cluster, avg obj size on shard : stats.shards[ <shard-a> ].avgObjSize Shard <shard-b> contains <estDataPercent-b>% data, <estDocPercent-b>% docs in cluster, avg obj size on shard : stats.shards[ <shard-b> ].avgObjSize
输出信息显示:
<shard-x>
是保存分片名称的字符串。<host-x>
是保存主机名的字符串。<size-x>
是一个包含数据大小的数字,包括计量单位(例如b
、Mb
)。<count-x>
是一个报告分片中文档数量的数字。<number of chunks-x>
是一个报告分片中数据段数量的数字。<size-x>/<number of chunks-x>
是一个计算值,反映分片每个数据块的估计数据大小,包括度量单位(例如b
、Mb
)。<count-x>/<number of chunks-x>
是一个计算值,反映分片的每个数据段的估计文档数。<stats.size>
是一个值,报告分片集合中数据的总大小,包括度量单位。<stats.count>
是一个值,报告分片集合中文档总数。<calc total chunks>
是一个计算数字,用于报告所有分片的数据块数,例如:<calc total chunks> = <number of chunks-a> + <number of chunks-b> <estDataPercent-x>
是一个计算值,反映每个分片的数据大小占集合总数据大小的百分比,例如:<estDataPercent-x> = <size-x>/<stats.size> <estDocPercent-x>
是一个计算值,反映每个分片的文档数占集合文档总数的百分比,例如:<estDocPercent-x> = <count-x>/<stats.count> stats.shards[ <shard-x> ].avgObjSize
是一个数字,反映分片的平均对象大小,包括度量单位。