GraphQL 过滤器内容丰富的帖子

GraphQL filter Contentful posts

我正在尝试获取 post 类 category->post1, post2,但某些类别没有 post。所以我想skip/filter那些类别。我该怎么做?

查询示例:

query MyQuery {
  allContentfulCategory(limit: 10, filter: {}) {
    edges {
      node {
        slug
        name
        blog_post {
          slug
        }
      }
    }
  }
}

Screenshot

谢谢

如果您的 GraphQL 节点设置正确,您可以:

query MyQuery {
  allContentfulCategory(limit: 10, filter: {blog_post: {slug: {ne: null}}}) {
    edges {
      node {
        slug
        name
        blog_post {
          slug
        }
      }
    }
  }
}

ne(不等于)过滤器应该可以解决问题。

或者,您可以直接使用 JavaScript 代码进行过滤,因为它是一个 null 值,可以使用以下命令轻松地从 node 数组中删除:

let filtered = data.allContentfulCategory.edges.node.filter(el => el.blog_post != null);