Docs 菜单

Docs 主页开发应用程序MongoDB Manual

sh.enableSharding()

在此页面上

  • 定义
  • 语法
  • 行为
  • 例子
sh.enableSharding(database, primaryShard)

注意

在 6.0 版本中进行了更改

从 MongoDB 6.0 开始,不需要使用此方法来分片集合。

显式创建数据库。使用 mongosh方法sh.shardCollection()对数据库上的集合进行分片。 mongosh方法sh.enableSharding()会封装enableSharding命令。

重要

mongosh 方法

本页介绍了mongosh方法。这不是数据库命令或特定语言驱动程序(例如 Node.js)的文档。

有关数据库命令,请参阅 enableSharding 命令。

对于 MongoDB API 驱动程序,请参阅特定语言的MongoDB 驱动程序文档。

对于传统 mongo Shell 文档,请参阅相应 MongoDB Server 版本的文档:

mongo shell v4.4

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

sh.enableSharding(
<database>,
<primary shard> // Optional. Available starting in MongoDB 4.2.2 (and 4.0.14)
)

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

范围
类型
说明
数据库
字符串

要创建的数据库名称。

字符串

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

警告

提示

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

从 MongoDB 4.2.2(和 4.0.14)开始可用

mongos"majority"用于enableSharding命令及其助手sh.enableSharding()

通常,您不需要在命令中指定primaryShard 。相反,允许负载均衡器选择主分片。

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

下面的示例从 mongos 运行,明确创建了 shardTest 数据库:

sh.enableSharding("shardTest")

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

提示

另请参阅:

← sh.enableAutoSplit