如何确保文档字段在ArangoDB群集中是唯一的

问题描述

我有3个节点的arango群集(社区版)。 我创建了一个数据库,其中writeConcern = 3,replicationFactor = 3,以及一个分片为3,replicationFactor = 3的集合。 我在该集合的字段上有一个哈希索引,其唯一属性设置为true。但是,我仍然可以创建具有相同字段值的不同文档。

我想知道是否有一些策略可以确保集群中集合字段的唯一性。

解决方法

Arango文档中的Indexes On Shards部分内容如下:

仅当用于确定分片键的字段也包含在索引的属性路径列表中时,才允许分片集合上的唯一索引(哈希,跳过列表,持久性)

其背后的原因很简单-如果不能保证所有x值相同的文档,则确保属性x的唯一性将非常昂贵。存储在同一节点上。