是否可以根据文档中的两个字段在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"
's strange is that I can'告诉 c
的哪个属性用于连接,或者如何指定它 .
假设我有 _type='Customer'
拥有 myId
属性的文档,我想将这些文档与 _type='PurchaseOrder'
的文档连接起来,具有 customerId
属性 . 怎么办?
1 回答
N1QL使用一个引用第二个文档的外部主键的文档中的表达式执行JOIN . 在您的示例中,客户的JOIN正在使用客户c的外部主键 . 请注意,Couchbase将文档数据库与键值数据库组合在一起 . 因此,Couchbase中的每个文档都有一个唯一的外部密钥 . 该外键是N1QL用于加入第二个文档的内容 .