我正在尝试使用 AQL 更新整个节点集合,命名为 Nodes,取决于它们具有的边的类型 .
要求:
- 基本上,如果 Nodes 中的 2 个实体具有 relation type= "Same",它们将使用唯一的 groupid 属性进行更新(相同的超过 2 个)
- 这只会在一开始运行一次(填充groupid)
我的概念方法:
- 使用 AQL
- 对于Node中的每个实体,查询出所有type=SAME的可连接节点
- 生成一个groupid并更新所有的
- 将这些 id 写入查找对象
- 对于下一个实体,进行查找,如果存在 ID,则跳过该实体。
我尝试过的
FOR v,e,p
In 1..10
ANY v
EntityRelationTest
OPTIONS {uniqueVertices:"global",bfs:true}
FILTER p.edges[*].relationType[0]== "EQUALS"
UPDATE v WITH { typeName2:"test1"} IN EntityTest
return NEW
但我对 arangodb AQL 还很陌生,上面的事情可能吗?
最佳答案
最后,我使用的是一个直接在 Foxx 内部运行的自定义遍历对象,以便兼顾性能和正确性。看来我们不能只用 AQL 做上面的事情
关于database - Arangodb 更新属性取决于边缘类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45172472/