切片key决定集合的文档在集群切片中的分布。 切片键是存在于集合中的每个文档中的索引字段或索引复合字段。 MongoDB使用切片键值范围对集合中的数据进行分区。 每个范围定义了一个不重叠的切片键值范围,并与一个块相关联。 MongoDB会试图在集群的切片之间均匀地分配块。 切片键与块分配的有效性直接相关。
重要提示
一旦对集合进行切分,切片键和切片键值是不可变的;即
- 不能为该集合选择不同的切片键。
- 不能更新切片键字段的值。
切片键规范
要对集合进行切分,在调用 sh.shardCollection() 方法时必须指定目标集合和切片键:
sh.shardCollection( namespace, key )
namespace
参数由字符串<database>.<collection>
组成, 它指定了目标集合的完整名称空间。- key参数由包含字段的文档和该字段的索引遍历方向组成。
有关使用 hashed sharding 策略对集合进行分片的特定说明,请参见