1
我使用pyArango使用功能ArangoDB-重复边缘
Graph.createEdge()
我现在面临的问题是,ArangoDB允许创建具有相同_TO,_from对重复的边缘以创建两个文件之间的边缘。如何避免这种情况ArangoDB
我使用pyArango使用功能ArangoDB-重复边缘
Graph.createEdge()
我现在面临的问题是,ArangoDB允许创建具有相同_TO,_from对重复的边缘以创建两个文件之间的边缘。如何避免这种情况ArangoDB
一个简单的解决方案是使用fetchFirstExample()在边缘上收集插入之前检查:
try :
edge = myEdgesCollection.fetchFirstExample({"_to": doc2._id, "_from": doc1._id})[0]
except :
edge = myGraph("myEdgesCollection", doc1, doc2, {})
这是通过一些约束作用是不可能的,
您可以在插入级别避免:
当创建一个边缘,使用下一个查询:
UPSERT {_from : @from, _to : @to}
INSERT {_from : @from, _to : @to, label : "knows"}
UPDATE {} IN @@edgeCollection
如果有匹配它不会创建它(但注意,它会更新所以离开的更新对象空)