Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

sh.enableSharding()

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 行为
  • 例子
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集群不支持此命令。 有关更多信息,请参阅不支持的命令。

sh.enableSharding()具有以下形式:

sh.enableSharding(
<database>,
<primary shard> // Optional.
)

sh.enableSharding()方法采用以下参数:

Parameter
类型
说明

字符串

要启用分片功能的数据库。

字符串

可选。数据库的主分片;主分片包含此数据库的未分片集合。一般来说,建议让负载均衡器选择主分片,而不是明确指定主分片。

警告

提示

通常,您不需要指定主分片。允许负载均衡器选择主分片。

mongos 针对 enableSharding 命令及其辅助 sh.enableSharding() 使用 "majority"

一般来说,不需要在命令中指定 primaryShard。相反,允许负载均衡器选择主分片。

但是,如果您确实为数据库指定了分片,并且该数据库已经启用了使用其他主分片的分片功能,则该操作将返回错误,并且数据库的主分片将保持不变。 要更改数据库的主分片,请改用movePrimary命令。

以下示例从mongos运行,为test数据库启用分片:

sh.enableSharding("test")

要验证,请运行 sh.status()

提示

另请参阅:

后退

sh.enableAutoSplit