通过 ArangoDB 2.8 中的相同边缘集合进行多次遍历
Multiple traverse via same edge collection in ArangoDB 2.8
Product->Model->Brand graphs有一个边集合
FOR m IN INBOUND "BrandModel/49798592791" BrandModelLink
FOR p IN INBOUND m._id BrandModelLink
RETURN { model: m, product: p }
结果 - 空。它是永久限制还是测试期?
现在我用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 }
希望第一个选项在最终版本中有效。
P.S。简化 AQL 遍历其强大而惊人的功能!
对于在多个遍历语句中使用同一个集合应该没有限制,无论是在 beta 中还是之后。
_id
继续遍历似乎有问题。
这是测试版中的错误,将在 2.8 最终版中修复。
现在你可以简单地尝试删除第二个过滤器语句中的 _id
:
FOR m IN INBOUND "BrandModel/49798592791" BrandModelLink
FOR p IN INBOUND m BrandModelLink
RETURN { model: m, product: p }
也可以使用完整的文档(顶点)作为遍历的起点。
Product->Model->Brand graphs有一个边集合
FOR m IN INBOUND "BrandModel/49798592791" BrandModelLink
FOR p IN INBOUND m._id BrandModelLink
RETURN { model: m, product: p }
结果 - 空。它是永久限制还是测试期?
现在我用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 }
希望第一个选项在最终版本中有效。
P.S。简化 AQL 遍历其强大而惊人的功能!
对于在多个遍历语句中使用同一个集合应该没有限制,无论是在 beta 中还是之后。
_id
继续遍历似乎有问题。
这是测试版中的错误,将在 2.8 最终版中修复。
现在你可以简单地尝试删除第二个过滤器语句中的 _id
:
FOR m IN INBOUND "BrandModel/49798592791" BrandModelLink
FOR p IN INBOUND m BrandModelLink
RETURN { model: m, product: p }
也可以使用完整的文档(顶点)作为遍历的起点。