假设我的收藏品的结构如下:
{
_id = ObjectId(1),
records : [ {n: "Name", v: "Kevin"},
...,
{n: "Age", v: 100}
]
}
由于我有一个复合索引(records.n-records.v
),那会是我的分片键吗?
答案 0 :(得分:1)
records
是一个数组而你cannot use multi-key index for shard key所以答案是否定的,你不能将它用作分片键。
我会说像这样的架构通常说起来相当无用 - 很难查询,很难修改甚至不提及排序。记录为{"Name": "Kevin", "Age": 100}
的子文档将是更好的选择,您可以使用某些字段子集作为分片键。