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

enableSharding

在此页面上

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 行为
  • 例子
enableSharding

注意

在 6.0 版本中进行了更改

从MongoDB6.0 开始, 集合分 分片 不需要 此命令。

enableSharding命令显式创建一个数据库。

提示

mongosh 中,该命令也可通过 sh.enableSharding() 辅助方法运行。

辅助方法对 mongosh 用户来说很方便,但它们返回的信息级别可能与数据库命令不同。如果不追求方便或需要额外的返回字段,请使用数据库命令。

此命令可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

重要

无服务器实例不支持此命令。 有关更多信息,请参阅不支持的命令。

该命令具有以下语法:

  • 推荐。 指定要创建的数据库:

    db.adminCommand(
    {
    enableSharding: "<database name>"
    }
    )
  • (可选)您可以在命令中包含主分片规范,但不建议这样做:

    db.adminCommand(
    {
    enableSharding: "<database name>",
    primaryShard: "<shard name>"
    }
    )

您只能从enableSharding admin实例对 数据库运行mongos 命令。

该命令接受以下字段:

字段
类型
说明
字符串

要使用的数据库。 如果数据库不存在,则会创建该数据库。

字符串

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

警告

提示

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

该命令返回包含操作状态的文档。

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

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

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

mongos运行以下命令,创建shardTest数据库:

db.adminCommand( { enableSharding: "shardTest" } )

后退

configureCollectionBalancing