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

Flutter Supabase如何监听含JSON字段条件的数据库变更?

在Flutter中使用Supabase监听JSON字段的数据库变更过滤方法

要筛选countries表中user_id(JSON类型)里id值等于3的数据,你需要利用PostgreSQL对JSON字段的路径查询语法,替换原来的eq('user_id', '???'):

  • 如果user_id中的id是数字类型,使用:
    eq('user_id->id', 3)
    
  • 如果user_id中的id是字符串类型,使用:
    eq('user_id->>id', '3')
    

完整示例代码

supabase.channel('public:countries')
  .onPostgresChanges(
    event: PostgresChangeEvent.all,
    schema: 'public',
    table: 'countries',
    filter: FilterBuilder().eq('user_id->id', 3), // 根据实际数据类型调整
    callback: (payload) {
      // 处理数据库变更逻辑
    },
  )
  .subscribe();

说明

  • -> 用于访问JSON字段并保留其原始数据类型(比如数字仍为数字类型)
  • ->> 会将JSON字段的值转换为文本类型,适合匹配字符串格式的ID

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 20:52:00