【问题标题】:Query by 2 or more fields on GraphQL在 GraphQL 上按 2 个或更多字段查询
【发布时间】:2023-04-09 23:43:01
【问题描述】:

假设我们要在 GraphQL 上查询多个字段,该怎么做?

{
  book(id:"123",name:"book1") {
    id,
    name,
    authors{
      id
    }
  }
}

另外,如何根据名字过滤掉子字段,比如作者??

{
  book(id:"123",name:"book1") {
    id,
    name,
    authors(name:"author1"){
      id
    }
  }
}

我找到了这篇文章,但只是想知道有没有更好的方法。 https://www.yld.io/blog/query-by-2-or-more-fields-on-graphql/

【问题讨论】:

    标签: graphql express-graphql


    【解决方案1】:

    假设您正在构建 GraphQL 服务器并想知道如何过滤子字段。

    根据您使用的服务器库,您希望在父“书”类型上编写“字段解析器”。字段解析器为每个已解析的父对象调用一次,因此您将参考已解析的父类型(在您的情况下为Book)以及字段的参数(name: "author1"),然后您可以解析它。

    您可能还想使用dataloader,因为为每个父字段解析作者子字段的一次数据库调用可能会导致数据库查询泛滥。

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 2020-09-08
      • 2019-07-28
      • 2019-05-13
      • 1970-01-01
      • 2021-02-18
      • 2018-07-02
      • 2012-07-08
      • 1970-01-01
      相关资源
      最近更新 更多