N1QL 中的 Upsert:如何计算现有文档的值
Upsert in N1QL: How to count-up a value of an existing document
我想根据唯一键插入一个文档,或者如果文档已经存在则更新一个计数器。
在 UPSERT documentation of DP4 中,我找到了一个示例,表明 UPSERT 更像是 INSERT 或 REPLACE。
UPSERT INTO product (KEY, VALUE)
VALUES ("EAN1234567",
{ "productId": "EAN1234567", "counter": 1})
RETURNING * ;
如何增加 UPSERT 中现有条目的计数器?
您可以在 N1QL 中使用 MERGE 语句。
MERGE INTO product p USING (SELECT NULL) s ON KEY 你的钥匙
匹配后更新 SET p.counter = p.counter + 1
如果不匹配,则插入 ...;
我想根据唯一键插入一个文档,或者如果文档已经存在则更新一个计数器。
在 UPSERT documentation of DP4 中,我找到了一个示例,表明 UPSERT 更像是 INSERT 或 REPLACE。
UPSERT INTO product (KEY, VALUE)
VALUES ("EAN1234567",
{ "productId": "EAN1234567", "counter": 1})
RETURNING * ;
如何增加 UPSERT 中现有条目的计数器?
您可以在 N1QL 中使用 MERGE 语句。
MERGE INTO product p USING (SELECT NULL) s ON KEY 你的钥匙 匹配后更新 SET p.counter = p.counter + 1 如果不匹配,则插入 ...;