首页 > 解决方案 > 如何从 Couchbase 中另一个存储桶中的字段更新存储桶中的字段?

问题描述

假设这里有两个桶:

Bucket A:
   fields: F1, F2, F3,...
Bucket B:
   fields: F1, F2

我想在 Couchbase 中做以下事情:

   Let A.F3=B.F2, when A.F1=B.F1

但我不知道如何使用 n1ql 或 python sdk 来实现这一点

我尝试过使用 n1ql “合并”,但是我对需要键而不是比较的“on”子句感到非常困惑

我知道在 Oracle 中,您可以使用“合并到”语句来执行此操作,例如:

MERGE INTO schema.table1 USING schema.table2 on (schema.table1.col1 = schema.table2.col1) WHEN MATCHED THEN UPDATE SET schema.table1.col3 = schema.table2.col2

如何达到和上面的oracle语句一样的结果?

标签: python-3.xcouchbasen1ql

解决方案


INSERT INTO bucketA (KEY d.`key`, VALUE d)
SELECT d
FROM buckerB d
WHERE d.something = "someValue"

推荐阅读