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

How to ensure that a document field is unique in ArangoDB Cluster

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

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

A​​rango 文档中的 Indexes On Shards 部分说明如下:

Unique indexes (hash, skiplist, persistent) on sharded collections are only allowed if the fields used to determine the shard key are also included in the list of attribute paths for the index

这背后的原因很简单——如果不能保证所有文档具有相同的x 存储在同一个节点上。