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

Couchbase N1QL查询:筛选numbers数组末尾元素匹配指定值的记录

匹配数组最后一个元素的N1QL查询实现

核心逻辑

N1QL 数组下标从 0 开始计数,你可以通过ARRAY_LENGTH()函数获取数组长度后减1,即可定位到数组的最后一个元素。

基础查询语句

替换示例中的your_bucket为你的实际桶名,target_value为你要匹配的指定数值即可使用:

SELECT *
FROM `your_bucket`
WHERE 
  -- 先判断数组非空,避免下标为-1导致异常
  ARRAY_LENGTH(data.numbers) > 0
  AND data.numbers[ARRAY_LENGTH(data.numbers) - 1] = target_value;

性能优化建议

如果该查询是业务高频查询,建议创建对应表达式索引提升查询效率:

CREATE INDEX idx_data_numbers_last ON `your_bucket`(data.numbers[ARRAY_LENGTH(data.numbers) - 1])
WHERE ARRAY_LENGTH(data.numbers) > 0;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:24:10