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

如何使用PostgREST排除PostgreSQL表中为空的JSONB字段数据

解决PostgREST过滤jsonb空数组及空字段的问题

看起来你已经找到了匹配firstname为空(包括info是空数组的情况)的查询方式,现在只需要反转这个条件就能达到你的需求啦。

方法一:直接反转当前条件

你当前的查询是匹配info->0->firstname为null的记录,要排除这些记录,只需要把条件改为not.is.null即可:

https://127.0.0.1/table?info->0->firstname=not.is.null

这个查询会自动排除两种情况:

  • info是空数组(此时info->0返回null,进而info->0->firstname也是null)
  • info数组里第一个元素的firstname字段为null

方法二:更精确的双重过滤(可选)

如果你想明确区分“空数组”和“数组元素的firstname为空”,可以同时添加两个过滤条件,用&连接:

https://127.0.0.1/table?info=not.is.empty&info->0->firstname=not.is.null
  • info=not.is.empty:确保info不是空数组
  • info->0->firstname=not.is.null:确保数组第一个元素的firstname不为null

补充小提示

注意到你数据里的字段拼写有个小失误(fistname应该是firstname),不过你当前查询里已经写对了,这点不用操心~ PostgREST的过滤语法支持用not.前缀反转布尔类条件,这是处理这类需求最直接的方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 10:07:43