我正在使用arangodb的节点驱动程序版本6在两个顶点之间插入关系,如下所示。
db.collection("starks").save({
_from: "Starks/Lyanna-Stark",
_to: "Starks/Ned-Stark",
type: "married"
});
这会将
married
和Starks/Lyanna-Stark
之间的关系Starks/Ned-Stark
插入数据库中。但是,当我运行此查询两次时,它将使用不同的关系键将其插入两次。我要避免这种情况,因为对于单个关系,只应显示一个条目。我怎样才能做到这一点?
最佳答案
只需为要创建的所有关系创建唯一索引。例如,如果您的关系集合的名称为relations
,则运行此查询以使"_from"
,"_to"
,"type"
的组合为唯一
db.relations.ensureIndex({
type: "hash",
fields: [ "_from", "_to", "type" ],
unique: true
});
这是引用链接https://docs.arangodb.com/3.0/Manual/Indexing/Hash.html#ensure-uniqueness-of-relations-in-edge-collections
关于arangodb - 重复的文档被插入到边集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51909100/