AQL中的递归遍历(ArangoDb)

AQL中的递归遍历(ArangoDb),arangodb,Arangodb,当遍历树或图(在我的例子中是DAG)时,我经常看到递归的用法。在不久的将来,AQL是否支持或计划支持这一点 假设我有一个AQL查询或子查询(遍历),并希望递归地调用它。也许可以用Foxx包装吗?目前情况下,AQL本身没有递归。 可以使用JavaScript中的递归在Foxx中封装递归,例如: var recursion = function(last) { if (last.length > 3) { return last; } return recursion(db

当遍历树或图(在我的例子中是DAG)时,我经常看到递归的用法。在不久的将来,AQL是否支持或计划支持这一点


假设我有一个AQL查询或子查询(遍历),并希望递归地调用它。也许可以用Foxx包装吗?

目前情况下,AQL本身没有递归。 可以使用JavaScript中的递归在Foxx中封装递归,例如:

var recursion = function(last) {
  if (last.length > 3) {
    return last;
  }
  return recursion(db._query("<some AQL query>", {last: last}));
}


controller.get("/recursive", function (req, res) {
  res.json(recursion(["a","b","c"]));
}
然后将查找长度
1
12
的所有路径,其中所有顶点的
age
属性大于或等于
35

希望这有帮助

FOR v,e,p IN 1..12 OUTBOUND "vertex/start" edges
  FILTER p.vertices[*].age ALL >= 35
  RETURN v