如何为Supabase Postgres CDC订阅设置多条件过滤?
Supabase Postgres CDC 多条件过滤实现方法
Supabase Realtime的Postgres CDC过滤遵循PostgREST查询语法,多条件过滤不需要用&&符号,可通过以下两种方式实现:
- 逗号分隔多个条件:直接将多个过滤条件用逗号隔开,默认逻辑为“AND”
- 使用
and操作符:明确用and()包裹多个条件,适合复杂逻辑场景
正确示例代码
channel.on('postgres_changes', { event: 'UPDATE', schema: 'public', table: 'users', filter: 'username=eq.Realtime,firstname=neq.test' }, (payload) => { console.log('符合条件的users表更新事件: ', payload) })
复杂逻辑示例(组合条件)
如果需要更复杂的逻辑组合,比如(username=eq.Realtime AND firstname=neq.test) OR age=gt.18,可以这样写:
filter: 'or(and(username=eq.Realtime,firstname=neq.test),age=gt.18)'
内容的提问来源于stack exchange,提问作者matt9292
相关产品推荐
相关产品推荐

