11

我正在关注Medium 上的教程,以便让 Gatsby 使用 Prismic。

在 GraphiQL 资源管理器中,下面的两个查询都产生相同的结果,并且想知道何时应该使用一个而不是另一个(即edges.node.datanodes.data):

查询 #1:

query Articles {
  articles: allPrismicArticle {
    edges {
      node {
        data {
          title {
            text
          }
          image {
            url
          }
          paragraph {
            html
          }
        }
      }
    }
  }
}

查询 #2:

query Articles {
  articles: allPrismicArticle {
    nodes {
      data {
        title {
          text
        }
        image {
          url
        }
        paragraph {
          html
        }
      }
    }
  }
}

4

1 回答 1

13

正如你所发现的,根本没有区别。nodes可以认为是一个捷径edges.map(edge => edge.node)。这将在使用 graphql 返回的数据时为我们节省一些打字时间。

在某些情况下,查询边很有用,例如在allMarkdownRemark查询中,edges可能包含有用的信息,例如总帖子数。

于 2019-12-09T05:28:36.110 回答