我怎样才能与 Arangodb 保持两个距离?

How can I get two distance with Arangodb?

我想查询 n 找到两个距离。

这是我目前的 AQL:

FOR start IN @@vertexCollection
  FOR v, e, p IN 0..2 ANY 'circles/L' @@edgeCollection
    FILTER p.vertices[2]._key == 'n'
    RETURN {
      source: start,
      destination: v,
      edges: p.edges,
      vertices: p.vertices
    }
  • 你只需要遍历(内循环)
  • 路径深度需要 0..3:L -> 601 -> m -> n (0 -> 1 -> 2 -> 3)
  • 您的过滤器必须检查最后一个顶点而不是第二个

您的 AQL 应如下所示:

FOR v, e, p IN 0..3 ANY 'circles/L' GRAPH 'yourGraph' 
  FILTER p.vertices[-1]._key == 'n' 
    RETURN p

更新

更简单的方法是在过滤器中使用 v,这是路径中的最后一个顶点。

FOR v, e, p IN 0..3 ANY 'circles/L' GRAPH 'yourGraph' 
  FILTER v._key == 'n' 
    RETURN p