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

Fel*_*rth 3 traversal graph arangodb aql

为Product-> Model-> Brand图表设置一个边缘集合

FOR m IN INBOUND "BrandModel/49798592791" BrandModelLink
   FOR p IN INBOUND m._id BrandModelLink
RETURN { model: m, product: p }
Run Code Online (Sandbox Code Playgroud)

结果 - 空.它的限制永远还是beta期?

现在我使用selfmake组合

FOR m IN INBOUND "BrandModel/49798592791" BrandModelLink
   FOR plink IN BrandModelLink
      FILTER plink._to == m._id
      FOR p IN Product 
         FILTER p._id == plink._from
RETURN { model: m, product: p }
Run Code Online (Sandbox Code Playgroud)

希望第一个选项适用于最终版本.

PS Simplify AQL遍历其强大而神奇的功能!

mch*_*cki 5

在多个遍历语句中使用相同的集合应该没有限制,无论是在beta还是在之后.

这似乎是_id继续遍历的问题.这是测试版中的一个错误,最终将修复为2.8.

现在你可以简单地尝试删除_id第二个过滤语句:

FOR m IN INBOUND "BrandModel/49798592791" BrandModelLink
   FOR p IN INBOUND m BrandModelLink
RETURN { model: m, product: p }
Run Code Online (Sandbox Code Playgroud)

也可以使用完整文档(顶点)作为遍历的起始点.