检索连接此顶点的文档

时间:2018-01-23 09:30:20

标签: arangodb aql

我想检索连接到顶点的所有文档。

首先我的想法是通过使用存储在其中的信息来找到顶点。我能够用全文查询来完成它:

FOR doc IN spec
FILTER doc.serial_no == '"12345abc"'
RETURN doc

RESULT:
[
  {
    "_key": "3834670", 
    "_id": "spec/3834670", 
    "_rev": "_WP3-fvW---",
    "type": "spec-type-545",
    "name": "spec-name-957", 
    "serial_no": ""12345abc""
  }
]

现在我想找到附在这个顶点上的所有文件。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

假设您保存了从顶点到边集合中附加文档的连接,您可以使用遍历。

遍历从一个特定文档(startVertex)开始,并跟随连接到此文档的所有边。对于这些边缘所针对的所有文档(顶点),它将再次跟随连接到它们的所有边缘,依此类推。

在您的情况下,startVertex为'spec/3834670'IN [min[..max]]定义遍历的深度,未指定此选项将使用默认深度1. edgeCollection1, ..., edgeCollectionN是正在使用的所有边集合的列表。

FOR v IN [min[..max]] ANY 'spec/3834670'
  edgeCollection1, ..., edgeCollectionN
  RETURN v._key

AQL Manual中记录了这一点。