是否可以根据文档中的两个字段在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
属性。怎么做?
答案 0 :(得分:1)
N1QL使用一个文档中的表达式执行JOIN,该表达式引用第二个文档的外部主键。在您的示例中,客户的JOIN正在使用客户c的外部主键。请注意,Couchbase将文档数据库与键值数据库组合在一起。因此,Couchbase中的每个文档都有一个唯一的外部密钥。该外键是N1QL用于加入第二个文档的内容。