过滤查询结果

TinaCMS 会自动为在你的架构中定义的集合创建过滤器。

要过滤集合结果,请将 filter 参数传递给 <collection>Connection 查询,后跟集合字段的任何过滤器操作符类型

filter 对象是一个嵌套的条件集,其中键对应于集合字段,值描述条件。

条件可以是“二元”或“三元”的。二元条件由一个操作符和一个操作数组成(例如 {"eq":"foo"})。三元条件由两个操作符和两个操作数组成(例如 {"gt":0, "lte": 10})。

操作符类型

行为

类型

eq

等于

string, number, boolean

in

其中之一

string[], number[], boolean[]

gt

大于

string, number

gte

大于或等于

string, number

lt

小于

string, number

lte

小于或等于

string, number

startsWith

以...开始

string

after

之后

datetime

before

之前

datetime

只有 gtgteltlteafterbefore 可以用于三元条件。

示例

在字段上进行过滤

在这里,我们将使用 postConnection 查询我们的 post 集合,并通过帖子 title 过滤结果:

使用 IN 操作符在字段上进行过滤

在这里,我们将使用 postConnection 查询我们的 post 集合,并过滤结果,以便仅返回指定 category 的成员:

在日期范围内进行过滤

在这里,我们将使用 postConnection 查询我们的 post 集合,并过滤结果,以便仅返回 date 在指定范围内的帖子:

在多个字段上进行过滤

可以在多个字段上进行过滤。多个条件目前被视为布尔 AND 操作。在这里,我们将使用 postConnection 查询我们的 post 集合,并通过 categorytitle 过滤结果:

在引用上进行过滤

在这里,我们将使用 postConnection 查询我们的 post 集合,并在引用的 author 的名字上进行过滤:

Last Edited: March 26, 2025