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

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

我在ArangoDB中创建了一个集合,需要说明一个字段是唯一的。例如,我需要说 'user_table' 'email' 是唯一的。 怎么做?

为了保证集合中某个属性的唯一性,可以对集合使用ensureUniqueConstraint函数:

db['user_table'].ensureUniqueConstraint("email");

这将在属性 email 上创建一个非稀疏唯一索引。

如果 email 是可选属性,您可能需要:

db['user_table'].ensureUniqueConstraint("email", { sparse: true });

如@CoDEmanX 所述,也可以使用更通用的 ensureIndex 方法并将索引类型和唯一性指定为参数:

db['user_table'].ensureIndex({ fields: ["email"], type: "hash", unique: true, sparse: true });