filter()
仅匹配满足过滤器条件的行。
尽管filter()
函数是一种通用的筛选方式,但为了代码的可读性和维护性,官方建议优先使用特定的筛选方法,以利用更简洁和直观的筛选语法。
例如,使用eq()
、gt()
、lt()
等特定的筛选方法,可以使查询更加清晰和易于理解。
filter()
期望您使用原始的 PostgREST语法 来指定过滤器的值。
1.filter('id', 'in', '(5,6,7)') // Use `()` for `in` filter 2.filter('arraycol', 'cs', '{"a","b"}') // Use `cs` for `contains()`, `{}` for array values
案例教程
案例1 (和select一起使用)#
1create table
2 countries (id int8 primary key, name text);
3
4insert into
5 countries (id, name)
6values
7 (1, 'Afghanistan'),
8 (2, 'Albania'),
9 (3, 'Algeria');
案例2 (在外部表上)#
1create table
2 countries (id int8 primary key, name text);
3create table
4 cities (
5 id int8 primary key,
6 country_id int8 not null references countries,
7 name text
8 );
9
10insert into
11 countries (id, name)
12values
13 (1, 'Germany'),
14 (2, 'Indonesia');
15insert into
16 cities (id, country_id, name)
17values
18 (1, 2, 'Bali'),
19 (2, 1, 'Munich');
参数说明
列(column)[必要参数]
string类型
要过滤的列
操作符(operator)[必要参数]
string类型
用来过滤的操作符,遵循PostgREST的语法
值(value)[必要参数]
任意类型
用来过滤的值,遵循PostgREST的语法