2017-03-15 13 views
0

私のプロジェクトバックエンドはarangodbです。私は "テスト"と "デモ"という2つのコレクションを持っています。私は両方のテーブルからデータを取得する必要があります。私のデータは、このようなものです:テストのこのIDでarangodbの2つのコレクションからデータを取得する方法

テスト

[ 
    { 
    "firstName": "abc", 
    "lastName": "pqr", 
    "company": "abc Industries", 
    "id": "1234" 
    }, 
    { 
    "firstName": "xyz", 
    "lastName": "qwe", 
    "company": "xyz Industries", 
    "id": "5678" 
    } 
] 

デモ

[ 
    { 
    "clientId": "1234", 
    "subject": "test", 
    "message": "testing", 
    "priority": "High", 
    "status": "closed", 
    "id": "111111" 
    }, 
    { 
    "clientId": "1234", 
    "subject": "hiii", 
    "message": "demo", 
    "priority": "High", 
    "status": "closed", 
    "id": "222222" 
    }, 
] 

デモのClientIDを同じです。私は、クライアント "1234"のデータであるテーブルからデータを選択する必要があります。どのように私はAQL(arangoクエリ言語)を使用してこれを実装することができます。私はarangoに新しいです。どんな提案も高い評価を受けます。

答えて

1

joinsまたはsubqueriesでこれを行うことができます。

サブクエリを持つソリューションは、次のようになります。

FOR t IN test 
    FILTER t.id == @client 
    RETURN { 
    test: t, 
    demo: (FOR d IN demo 
      FILTER d.clientId == @client 
      RETURN d) 
    } 

@clientがあなたの価値1234が含まれていbind parameterです。

結果は次のとおりです。

[ 
    { 
    "test": { 
     "_key": "140306", 
     "_id": "test/140306", 
     "_rev": "_Urbgapq---", 
     "company": "abc Industries", 
     "firstName": "abc", 
     "id": "1234", 
     "lastName": "pqr" 
    }, 
    "demo": [ 
     { 
     "_key": "140233", 
     "_id": "demo/140233", 
     "_rev": "_UrbfyAm---", 
     "clientId": "1234", 
     "id": "222222", 
     "message": "demo", 
     "priority": "High", 
     "status": "closed", 
     "subject": "hiii" 
     }, 
     { 
     "_key": "140200", 
     "_id": "demo/140200", 
     "_rev": "_UrbfjfG---", 
     "clientId": "1234", 
     "id": "111111", 
     "message": "testing", 
     "priority": "High", 
     "status": "closed", 
     "subject": "test" 
     } 
    ] 
    } 
] 
+0

は、ご返信いただきありがとうございます。このクエリで私はエラーが発生しましたバインドパラメータ:["クライアント"]は定義されていません。 – Khushi

+0

パラメータ 'client'を定義する必要があります。 WebUiでは、ページの右側の「クエリ」にバインドパラメータが表示されます。 – mpv1989

関連する問題