gatsbyjs - 如何获得按年度过滤的内容帖子?

时间:2018-01-06 18:53:12

标签: reactjs graphql contentful gatsby

我正在使用gatsby-source-contentful,其中我有一个名为ContentfulBlogPost的类型,其架构如下所示:

{
  id
  title
  body
  date
}

Date是一个字符串(格式为YYYY-MM-DD),由Gatsby的数据层自动神奇地处理为Moment对象;我可以打电话给fromNowformatString以及所有这些。

我想要的是使用GraphQL根据该日期字段查询给定年份的帖子列表。

如果我这样做:

{
   allContentfulBlogPost(
     filter: { date: { regex: "/^2017/" } }
   ) {
     ...
   }
}

然后我收到此错误:"Cannot read property 'fromNow' of undefined"

真正想要的是能够按日期过滤allContentfulBlogPost数据集,方法是将日期转换为整数/字符串年份并查找,或者通过询问对于日期在给定年份的1月1日至12月31日之间的所有项目。

现在,我在gatsby-node中运行了一个查询,其中包含所有博客帖子,然后在JS中按年份对它们进行分组,然后将帖子数组传递到模板中。这有效,但看起来应该有一种GraphQL方式吗?

0 个答案:

没有答案