sh.enableSharding()
定义
sh.enableSharding(database, primaryShard)
注意
在 6.0 版本中进行了更改。
从MongoDB6.0 开始, 集合分 分片 不需要 使用此方法。
显式创建数据库。 使用
mongosh
方法sh.shardCollection()
对数据库上的集合进行分片。mongosh
方法sh.enableSharding()
会封装enableSharding
命令。重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是数据库命令或特定语言驱动程序(例如 Node.js)的相关文档。有关数据库命令,请参阅
enableSharding
命令。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
重要
无服务器实例不支持此命令。 有关更多信息,请参阅不支持的命令。
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
运行,明确创建了 shardTest
数据库:
sh.enableSharding("shardTest")
要验证,请运行 sh.status()
。