You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用N1QL仅复制Couchbase源桶的键到新桶并设空值?

正确的N1QL查询语句:仅复制键到新桶

你可以通过在SELECT子句中明确指定VALUE为NULL(或空对象{}),实现仅复制源桶的键到新桶,正确的查询语句如下:

INSERT INTO `new-bucket` (KEY k, VALUE v)
SELECT META(v).id AS k, NULL AS v
FROM `source-bucket` AS v;

说明:

  • 你之前尝试的VALUES子句结合子查询的写法不符合N1QL语法,VALUES仅适用于插入固定的单行/多行值,无法直接嵌套子查询批量获取数据。
  • 上述语句会遍历source-bucket中的所有文档,提取每个文档的ID作为新桶的键,同时将值设为NULL。如果需要值为空对象而非NULL,可以把NULL AS v替换为{} AS v。
  • 执行完成后,你可以通过USE KEYS语句快速校验ID是否存在,例如:
    SELECT 1 FROM `new-bucket` USE KEYS ["target-id"];
    
    只要返回结果非空,就说明该ID对应的键存在。

内容的提问来源于stack exchange,提问作者GrimThor3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 11:27:15