我有一个像结构一样的文件夹树的图形,我希望将所有顶点作为从特定起点到图形的叶子。我使用了以下AQL查询:
FOR V in
GRAPH_NEIGHBORS( "FolderTree",
{ "folderpath" : "/Cabinet 000001"},
{ direction : 'outbound',
maxDepth : 20,
vertexCollectionRestriction : 'Document'})
return V
查询工作正常但我只在结果中获得内部句柄ID:
["Document/4592118051","Document/4598606115","Document/4588185891",....]
我希望将记录列表转换为集合而不是内部ID。所有内部ID都属于同一个集合。我想知道是否可以使用子查询。我不明白可能是什么语法。
此致
答案 0 :(得分:1)
您必须将<div class="container">
<p class="left"> left side element 1 </p>
<p class="right"> right side element 1 </p>
<p class="left"> left side element 2 </p>
<p class="left"> left side element 3 </p>
<p class="right"> right side element 2 </p>
</div>
选项includeData
作为GRAPH_NEIGHBORS
传递。
true
FOR V in
GRAPH_NEIGHBORS("FolderTree",
{"folderpath" : "/Cabinet 000001"},
{ direction : 'outbound',
maxDepth : 20,
vertexCollectionRestriction : 'Document',
includeData: true}
)
return V
的行为随着2.6的发布而改变,之前的版本确实包含了结果中的所有文档属性,也许你被这种改变所困扰。
答案 1 :(得分:0)
感谢Tom的输入,它运行正常,但执行速度有点慢。我是Arango的新手,我为一个项目评估产品,但我开始爱上Arango DB,它是一个非常完整的数据库,现在很棒。
对于我最初的问题,我找到了另一种使用临时数组的方法。它仅适用于结果有限的情况。在我的情况下,我有近1000条记录:
LET docs = (FOR V in GRAPH_NEIGHBORS("FolderTree",{"folderpath" : "/Cabinet 000001"},{direction : 'outbound', maxDepth : 10,vertexCollectionRestriction : 'Document'}) RETURN V)
FOR docid in docs
FOR doc in Document
FILTER doc._id==docid
return doc
这一个需要5秒才能加载1000条记录而另一条需要25秒。