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
如果有匹配它不會創建它(但注意,它會更新所以離開的更新對象空)