2017-03-15 50 views
0

我的项目后端是arangodb。我有两个名为“test”和“demo”的集合。我需要从这两个表中获取数据。我的数据是这样的:如何从arangodb中的两个集合中获取数据

测试

[ 
    { 
    "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" 
    }, 
] 

此ID测试的是一样的演示的clientid。我需要从表格中选择客户端数据“1234”中的数据。我如何使用AQL(arango查询语言)来实现这一点。我是arango的新手。任何建议都将非常可观。

回答

1

你可以用joinssubqueries来做到这一点。

与子查询的一种解决方案是这样的:

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

@clientbind parameter包含你的价值1234

结果是:

[ 
    { 
    "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

谢谢您的答复。在这个查询中,我得到了一个错误绑定参数:[“client”]未定义。 – Khushi

+0

您必须定义参数'client'。在WebUi中,您可以在页面“查询”的右侧看到绑定参数。 – mpv1989

相关问题