【发布时间】:2016-08-24 19:17:02
【问题描述】:
我正在使用 ArangoDB 的 traversal object 来遍历递归组成员结构,同时避免后续循环。在某些情况下,我需要加入两个单独遍历的结果。有没有一种有效的方法来利用AQL 加入遍历结果?我目前正在使用 javascript 将结果加入内存中。
【问题讨论】:
-
答案对您有用吗?如果是,您可以将其标记为“已接受”吗?如果没有,缺少什么?
-
@dothebart 感谢您的回答。我最近没有机会看到这个问题,因为我们团队的优先级发生了变化,但是我过去尝试过类似于您的建议的方法,它确实给出了正确的结果,但性能很差。此外,我的特定问题有很多周期,反复访问同一个节点会导致性能进一步下降。因此,除了找到多组访问顶点之间的交集(每棵树的深度可能在 5 左右)之外,查询还需要指定一种避免循环的方法。
-
我已使用 GRAPH_NEIGHBORS 函数从节点获取顶点以避免循环,但是对它进行多次调用或与其调用的多个结果相交会导致性能不佳。
-
请注意,ArangoDB 3.0 不推荐使用 GRAPH_* 函数; see our migration guide how to upgrade。一般来说,您应该在单独的文章中分享您的解决方案,以便其他人也可以参考。