首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB:切分系统不能强制执行群集范围内的唯一索引。

MongoDB:切分系统不能强制执行群集范围内的唯一索引。
EN

Stack Overflow用户
提问于 2014-03-13 17:54:44
回答 1查看 134关注 0票数 1

我正在读的mongoDB文档(http://docs.mongodb.org/manual/core/sharding-shard-key/)

切分系统不能强制执行群集范围内的唯一索引,除非唯一字段位于“碎片”键中。

我不太容易理解。如果我有以下唯一索引{a,b,c,d}和切分键{a,b},

在整个集群中,{a,b,c,d}的唯一性受到尊重吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-14 05:41:33

因为shard键是唯一键的前缀,所以这种唯一性被保留下来。关键的洞察力在于,每个块正好存在于一个碎片上。

唯一性约束是,如果您有两个不同的文档( a、b、c和d都是相等的),它们不应该都存在,因为它们不是唯一的。但是,由于它们对a和b具有相同的值,所以它们必须位于相同的块中,因此它们位于相同的碎片上。该碎片对于{a:1,b:1,c:1,d:1}确实有一个唯一的索引,因此它将保持这两个文档的唯一性不变,并且不允许您插入第二个文档。

所以:

在整个集群中,{a,b,c,d}的唯一性受到尊重吗?

是。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22386956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档