database - Arangodb 更新属性取决于边缘类型

标签 database arangodb aql

我正在尝试使用 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/

相关文章:

arangodb - 时间序列差异 - ArangoDB(AQL 或 Python)

arangodb - 如何将 ArangoDb 中的结果分组为单个记录?

aerospike - 通过控制台查询时AQL截断数据

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

mysql - 灵活的mysql表的动态内容解决方案

android - 在 SQLite 中重新创建表

database - Golang 不使用数据库

neo4j - 用于节点/边缘用户访问控制的图形建模方法

python - 如何通过增加单个集合中的文档数量来提高 ArangoDB 2.7 中的检索查询性能

即使查询在 mysql admin 中有效,JAVA MYSQL 准备好的语句也会给出空结果集