python-3.x - 如何从 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语句一样的结果?
解决方案
INSERT INTO bucketA (KEY d.`key`, VALUE d)
SELECT d
FROM buckerB d
WHERE d.something = "someValue"
推荐阅读
- php - 无效命令“suPHP_ConfigPath”,可能拼写错误或由服务器配置中未包含的模块定义
- javascript - 在 React 中向 URL 添加变量
- regex - 正则表达式
- powershell - 如何在通用脚本中使用 Powershell 命令重命名 Windows (10) PC?
- python - 是否有用于表示具有 __contains__ 方法的注释的 Python 类型?
- postgresql - 将返回值合并到一行
- c# - PowerShell 7.0.x 无法加载文件或程序集 Microsoft.CodeAnalysis
- spring-boot - 在 Spring Boot 中将数组映射到 POJO 时,列表返回 null
- sorting - 如何使用 Vim 在 CSV 日志中按日期排序?
- c# - 在 C# 中使用正则表达式获取引号和反斜杠之间的数字