如何在Sanity中限制查询仅返回3篇最新文章?
解决GROQ查询限制返回3篇最新文章的问题
在GROQ查询中,要限制返回结果数量,有两种简洁的实现方式:
方法一:使用数组切片语法
通过[0..2]切片(数组索引从0开始,0到2对应前3条数据),修改后的查询代码如下:
"latestArticles": *[_type == "article" && wasDeleted != true && isDraft != true] | order(publishDate desc)[0..2]{ title, _createdAt, },
方法二:使用limit()函数
直接通过limit(3)指定返回结果数量,代码如下:
"latestArticles": *[_type == "article" && wasDeleted != true && isDraft != true] | order(publishDate desc) | limit(3){ title, _createdAt, },
两种方式都能精准返回最新的3篇已发布且未删除的文章,order(publishDate desc)确保结果按发布日期从新到旧排序,之后的限制操作只会保留前3条数据。
内容的提问来源于stack exchange,提问作者Burger Sasha
相关产品推荐
相关产品推荐

