Couchbase N1QL连接查询

时间:2016-05-22 11:41:23

标签: couchbase n1ql

需要Couchbase环境中的查询帮助。

文档1和文档2都在同一个存储桶中。

首先,查询将使用此查询获取文档message1:

<div ng-repeat="parent in section">
   <span>Section {{parent.id}}</span>
     <pre>
     <div ng-repeat="child in subSection" ng-if="child.parentId == parent.id">
        <span>SubSection {{child.id}}</span>
     </div>
      <button ng-click="addSubSection($index + 1)">Add SubSection</button>
     </pre>
</div>
<button ng-click="addSection()">Add Section</button>

其次,它需要从文档2获取用户名。如何使用上面的查询创建一个从给定文档名称获取用户名的连接语句?

概述

文件1 文件名= message1

SELECT uid, message, sent_by FROM bucket USE KEYS "message1"

文件2 文件名= user1

[
  {
    "uid": "1",
    "message": "hello",
    "sent_by": "username"
  }
]

1 个答案:

答案 0 :(得分:8)

假设Document2的名称基于Document1的uid,即&#34; user1&#34;基于uid = 1,您可以执行以下操作:

SELECT d1.uid, d1.message, d1.sent_by, d2.username
FROM mybucket d1 USE KEYS "message1"
JOIN mybucket d2 ON KEYS "user" || d1.uid;