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 用于加入第二个文档的密钥。
是否可以根据文档中的两个字段在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 用于加入第二个文档的密钥。