如何使用Apollo和GraphQL按发布日期从新到旧查询数据?
Strapi GraphQL 排序正确实现方式
你之前的写法错误原因是把REST接口的查询字符串语法直接套用在了GraphQL结构中,GraphQL不支持字段?参数的写法,所有查询控制参数都要统一放在字段后的括号内作为键值对传递。
Strapi自动生成的GraphQL查询内置sort参数用于排序,规则如下:
- 单字段排序直接传
"字段名:排序方向"的字符串,排序方向支持ASC(正序)、DESC(倒序) - 多字段排序传入字符串数组,优先级按数组顺序从前到后
单字段排序示例(按published_at倒序取3条)
query GetPodcasts{ podcasts(limit:3, sort: "published_at:DESC"){ id published_at } }
多字段排序示例(先按published_at倒序,再按id正序)
query GetPodcasts{ podcasts(limit:3, sort: ["published_at:DESC", "id:ASC"]){ id published_at } }
如果需要确认可用参数,可直接访问Strapi自带的GraphQL Playground,在侧边文档栏查询对应集合的查询参数定义即可。
内容的提问来源于stack exchange,提问作者Afx Crush
相关产品推荐
相关产品推荐

