ArangoDB-重复边
我正在使用pyArango函数在两个文档之间创建边ArangoDB-重复边,arangodb,pyarango,Arangodb,Pyarango,我正在使用pyArango函数在两个文档之间创建边 Graph.createEdge() 我面临的问题是ArangoDB允许使用相同的_to,_from对创建重复边。如何在ArangoDB中避免这种情况通过某种约束作用是不可能的 您可以在插入级别避免它: 创建边时,请使用下一个查询: UPSERT {_from : @from, _to : @to} INSERT {_from : @from, _to : @to, label : "knows"} UPDATE {} IN @@edgeC
Graph.createEdge()
我面临的问题是ArangoDB允许使用相同的_to,_from对创建重复边。如何在ArangoDB中避免这种情况通过某种约束作用是不可能的 您可以在插入级别避免它: 创建边时,请使用下一个查询:
UPSERT {_from : @from, _to : @to}
INSERT {_from : @from, _to : @to, label : "knows"}
UPDATE {} IN @@edgeCollection
如果存在匹配项,它将不会创建它(但请注意,它将更新它,因此将更新对象保留为空)一个简单的解决方案是在插入之前使用“边”集合上的fetchFirstExample()进行检查:
try :
edge = myEdgesCollection.fetchFirstExample({"_to": doc2._id, "_from": doc1._id})[0]
except :
edge = myGraph("myEdgesCollection", doc1, doc2, {})