2

フォルダー ツリーのような構造のグラフがあり、グラフの特定の開始点からすべての頂点をリーフとして取得したいと考えています。次の 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 は同じコレクションに属します。サブクエリを使用できるかどうか疑問に思っています。構文が何であるかわかりません。

よろしく

4

2 に答える 2

0

Tom さん、ご意見ありがとうございます。正常に動作しますが、実行が少し遅くなります。私は Arango を初めて使用します。プロジェクトの製品を評価していますが、Arango DB に恋をし始めました。これは非常に完全な 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

これは 1000 レコードをロードするのに 5 秒かかり、もう 1 つは 25 秒かかります。

于 2015-10-07T09:17:18.987 に答える