N1ql 按用户字段加入

N1ql join by user field

是否可以根据文档中的两个字段在n1ql中连接两个文档?

在连接的语言查询示例中,例如:

SELECT c, pr
FROM purchases pu
JOIN customer c ON KEYS pu.customerId
NEST product pr
ON KEYS ARRAY li.product FOR li IN pu.lineItems END
WHERE pu.customerId = "customer1"

奇怪的是,我无法分辨 c 中的 属性 用于联接,或者如何指定它。

假设我有 _type='Customer' 具有 myId 属性的文档,我想将这些文档加入 _type='PurchaseOrder' 具有 customerId 属性的文档。那要怎么做呢?

N1QL 使用一个文档中引用第二个文档的外部主键的表达式执行 JOIN。在您的示例中,客户上的 JOIN 使用客户 c 的外部主键。请注意,Couchbase 结合了文档数据库和键值数据库。因此,Couchbase 中的每个文档都有一个唯一的外部键。该外部密钥是 N1QL 用于加入第二个文档的密钥。