我怎样才能与 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
我想查询 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