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

Couchbase查询:如何排除is_deleted为true的文档?

正确的Couchbase N1QL查询语句

你的问题根源在于两个细节:

  • doc1的is_deleted是布尔值true,不是字符串"true",用字符串做比较根本匹配不到它;
  • doc3没有is_deleted字段,is_deleted != "true"这类条件会直接过滤掉无此字段的文档,因为字段不存在时,不等于比较的结果为未知,不会被纳入返回结果。

要实现仅排除is_deleted为true的文档、保留其余所有(包括is_deleted为false或无此字段的文档),可以用以下两种写法:

写法一(简洁推荐)

SELECT * FROM `你的桶名`
WHERE NOT (is_deleted = true);

逻辑说明:当is_deleted不存在时,is_deleted = true返回false,NOT之后转为true,因此无此字段的文档会被保留;仅当is_deleted确实等于布尔true时,才会被排除。

写法二(逻辑更直观)

SELECT * FROM `你的桶名`
WHERE is_deleted != true OR is_deleted IS MISSING;

逻辑说明:明确指定两种符合要求的情况——要么is_deleted不等于布尔true,要么字段本身不存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 19:52:02