如何在单个查询中选择GraphQL中的两个不同的数据集合

时间:2019-01-06 19:45:21

标签: graphql gatsby

我正在构建一个博客,但具有一些摘要功能,这些功能已设置为其他收藏集。我想在一个页面上同时显示最新的博客文章和最新的片段。

我正在编辑代码,并且看到以下graphql查询:

export const pageQuery = graphql`
  query IndexQuery {  
    allMarkdownRemark(
      sort: { order: DESC, fields: [frontmatter___date] },
      filter: { frontmatter: { templateKey: { eq: "blog-post" } }}
    ) {
      edges {
        node {
          excerpt(pruneLength: 400)
          id
          fields {
            slug
          }
          frontmatter {
            title
            templateKey
            date(formatString: "MMMM DD, YYYY")
          }
        }
      }
    }
  '

我可以在这里添加另一个“查询”吗?

export const pageQuery = graphql`
  query IndexQuery {  
  allMarkdownRemark(
      sort: { order: DESC, fields: [frontmatter___date] },
      filter: { frontmatter: { templateKey: { eq: "blog-post" } }}
    ) {
      edges {
        node {
          excerpt(pruneLength: 400)
          id
          fields {
            slug
          }
          frontmatter {
            title
            templateKey
            date(formatString: "MMMM DD, YYYY")
          }
        }
      }
    },  
allSnippetPosts(
      sort: { order: DESC, fields: [frontmatter___date] },
      filter: { frontmatter: { templateKey: { eq: "snippet-post" } }}
    ) {
      edges {
        node {
          excerpt(pruneLength: 400)
          id
          fields {
            slug
          }
          frontmatter {
            title
            templateKey
            date(formatString: "MMMM DD, YYYY")
          }
        }
      }
    }
  '

我已经完成了所有后端工作,只需要在这里的graphql部分获得帮助。

1 个答案:

答案 0 :(得分:0)

可以。您在查询末尾缺少}