常见查询

介绍

数据获取介绍中所述,TinaCMS 提供了一个用于查询内容的客户端。

注意,对于高级用例,您还可以手动查询底层的 GraphQL API

查询单个文档

在上面的例子中,post 是正在查询的集合的名称。可以用您架构中定义的集合名称之一替换它。

查询文档列表

<collection-name>Connection 可用于查询文档列表(在上面的例子中,我们的集合名称是 post)。

过滤

可以将过滤器作为选项添加到 <collection-name>Collection 查询中。

以下操作符类型可用于查询

行为

类型

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 可以用于三元条件。

根据文件名(_sys)过滤

目前,按文件名过滤文档的唯一方法是通过代码过滤现有的文档集合。

例如,要过滤一个帖子数组以仅包含名为 file-name-i-want 的文件,可以使用以下代码:

注意:使用自动生成的 <collection-name>Connection 时,查询将仅应用于文档的字段,而不是 _sys 属性。如上所示的代码过滤是一种合适的替代方案。

排序

可以将排序作为选项添加到 <collection-name>Collection 查询中。

多字段排序

在这里,我们将使用 postConnection 查询我们的帖子集合,并首先按类别排序,然后按日期排序,使用名为 category-date 的多字段索引:

分页

TinaCMS 支持基于游标的分页:

在客户端使用内置查询的一个限制是您一次只能查询一个根集合。如果您有一个页面上有多个表单,您可能需要使用自定义查询

Last Edited: May 1, 2025