arangodb - 重复的文档被插入到边集合中

标签 arangodb arangojs

我正在使用arangodb的节点驱动程序版本6在两个顶点之间插入关系,如下所示。

db.collection("starks").save({ 
    _from: "Starks/Lyanna-Stark", 
    _to: "Starks/Ned-Stark", 
    type: "married" 
});

这会将marriedStarks/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/

相关文章:

node.js - Arangojs - Firebase 云功能 => 无法连接到我的数据库

node.js - 如何从函数返回值

arangodb - 普通集合和顶点集合的区别

graph-databases - ArangoDB:图遍历的顺序

graph-databases - 在 ArangoDB 中,是否会在 O(n) 中使用过滤器从邻居中进行查询?

javascript - ArangoDB - 查询在 FOXX 中不起作用,但在 Web 界面中起作用

database - ArangoDB升级丢失数据

graph - ArangoDB 2.8 中通过相同边缘集合进行多次遍历