此版本的文档已存档,不再提供支持。要升级5.0部署,请参阅 MongoDB 6.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()。