对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

enableSharding(数据库命令)

enableSharding

注意

在版本6.0中进行了更改。

从 MongoDB 6.0 开始, 无需 使用此命令即可对集合进行分片。

The enableSharding command explicitly creates a database.

提示

In mongosh, this command can also be run through the sh.enableSharding() helper method.

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.

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

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

该命令具有以下语法:

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

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

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

You can only run the enableSharding command on the admin database from a mongos instance.

该命令接受以下字段:

字段
类型
说明

字符串

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

字符串

可选。 数据库的主分片分片。 它是数据库中所有未分片集合的默认分片片。

警告:一般来说,您不应指定主分片。 允许集群选择主分片分片。

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

mongos uses "majority" for the enableSharding command and its helper sh.enableSharding().

In general, you should not need to specify the primaryShard in the command. Instead, allow the balancer to select the primary shard.

However, if you do specify the primaryShard in the command for a database and the database is already sharding enabled with a different primary shard, the operation returns an error and the primary shard for the database remains as before. To change the primary shard for a database, use movePrimary instead.

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

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