Docs 菜单

Docs 主页开发应用程序MongoDB Manual

将集合分片

在此页面上

  • 分片键字段与字段值
  • 缺少的分片键字段
  • 更改文档的分区密钥值
  • 更改集合的分片键

要对集合进行分片,必须指定要对其进行分片的集合的完整命名空间和分片键。您可以使用 mongosh方法sh.shardCollection()对集合进行分片:

sh.shardCollection(<namespace>, <key>) // Optional parameters omitted
namespace
指定您想要对其进行分片的集合的完整命名空间 ("<database>.<collection>")。
key

指定文档 { <shard key field1>: <1|"hashed">, ... },其中

有关分片方法的更多信息,请参阅 sh.shardCollection()

文档在分片collection中可能缺少分片键字段。缺失的分片键与null的分片键属于同一范围。请参阅缺失的分片键字段。

在版本 4.2 及更早版本中,每个文档中必须存在分片键字段,这样才能对分片集合进行分片。要设置缺失的分片键字段,请参阅设置缺失的分片键字段

从 MongoDB 4.2 开始,您可以更新文档的分片键值,除非分片键字段是不可变的 _id 字段。在 MongoDB 4.2 及更早版本中,文档的分片键字段值不可变的。

有关更新分片键值的详细信息,请参阅更改文档的分片键值

从 MongoDB 5.0 开始,您可以通过更改文档的分片键对集合重新分片

您可以通过向现有分片键添加一个或多个后缀字段来优化分片键。

在 MongoDB 4.2 及更早版本中,分片后便无法更改分片键的选择。

← 分片键