MongoDB聚合:$shardedDataDistribution

$shardedDataDistribution阶段是从6.0.3开始支持的,用于返回分片集合中数据分布的信息。该聚合阶段必须在admin数据库上运行,且用户必须拥有shardedDataDistribution操作权限。

语法

js 复制代码
db.aggregate( [
   { $shardedDataDistribution: { } }
] )

用法

$shardedDataDistribution阶段会为数据库中的每个分片集合输出一个文档数组。这些文档包含以下字段:

|字段名|字段类型|说明|

|-|-|

|ns|string|分片集合的命名空间|

|shards|每个集合中的分区和数据的分布信息|

|shards.numOrphanedDocs|integer|分区内无主文件的数量|

|shards.numOwnedDocuments|integer|分片拥有的文件数量|

|shards.ownedSizeBytes|integer|分片所有文件的存储空间,以字节为单位|

|shards.orphanedSizeBytes|integer|分区内无主文件的存储空间(以字节为单位)|

举例

js 复制代码
db.aggregate( [
   { $shardedDataDistribution: { } }
] )

输出结果:

json 复制代码
[
  {
    "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
      }
    ]
  }
]
相关推荐
消失的旧时光-19432 小时前
SQL 第五篇:SQL 如何真正接入 Spring Boot 项目(企业 Mapper 分层实战)
数据库·spring boot·sql
dfdfadffa9 小时前
如何用模块化方案组织一个可扩展的前端组件库项目
jvm·数据库·python
2301_812539679 小时前
SQL中如何高效实现分组数据的批量更新_利用窗口函数与JOIN
jvm·数据库·python
2501_901200539 小时前
如何实现SQL存储过程存储过程参数标准化_统一命名规范
jvm·数据库·python
运气好好的9 小时前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
念何架构之路10 小时前
MySql常见ORM
数据库·mysql
xcLeigh10 小时前
KES数据库安全、权限、审计实战
数据库·安全·备份·权限·审计·ssl加密·密码策略
zjy2777711 小时前
c++如何实现日志文件的异步落盘功能_基于无锁队列方案【附代码】
jvm·数据库·python
河阿里11 小时前
SQL:深分页问题深度解析
数据库·sql
wang3zc11 小时前
JavaScript中函数声明位置对解析器预编译的影响
jvm·数据库·python