sh.enableSharding()
MongoDB5.0 已于 10 月2024 结束生命周期。不再支持此版本的文档。要升级5.0 部署,请参阅 MongoDB6 。0 升级程序。
定义
sh.enableSharding(database, primaryShard)
在指定数据库上启用分片。为数据库启用分片后,可以使用
sh.shardCollection()
分片数据库中的集合进行分片。mongosh
方法sh.enableSharding()
会封装enableSharding
命令。重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。有关数据库命令,请参阅
enableSharding
命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
重要
M 0 、M 2和 M 5集群不支持此命令。 有关更多信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
sh.enableSharding()
具有以下形式:
sh.enableSharding( <database>, <primary shard> // Optional. )
Parameter
sh.enableSharding()
方法采用以下参数:
行为
写关注
mongos
针对 enableSharding
命令及其辅助 sh.enableSharding()
使用 "majority"
。
主分片
一般来说,不需要在命令中指定 primaryShard。相反,允许负载均衡器选择主分片。
但是,如果您确实为数据库指定了主分片,并且该数据库已经启用了使用其他主分片的分片功能,则该操作将返回错误,并且数据库的主分片将保持不变。 要更改数据库的主分片,请改用movePrimary
命令。
例子
以下示例从mongos
运行,为test
数据库启用分片:
sh.enableSharding("test")
要验证,请运行 sh.status()
。