我如何与Arangodb保持两个距离?

时间:2017-01-03 02:04:19

标签: database arangodb

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

example graph

到目前为止这是我的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
    }

1 个答案:

答案 0 :(得分:0)

  • 您只需要遍历(内循环)
  • 路径的深度为0..3:L - > 601 - > m - > ñ (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