javascript - apollo graphql 传递参数来解析函数

标签 javascript meteor graphql apollo

我有一个包含相关类别和标记的模式

type Category {
    id: Int
    name: String
    parent: Category
    children: [Category]
    markers: [Marker]
}

type Marker {
    id: Int
    name: String
    categories: [Category]
}

type Query {
  category(limit: Int, offset: Int): [Category]
  marker(limit: Int, offset: Int): [Marker]
}

schema {
  query: Query
}

我现在可以像这样写一个查询:

query{
  category(limit: 3){
    name
    markers{
      name

    }
  }
}

如何为标记定义可能的参数? -->

  query{
      category(limit: 3){
        name
        markers(limit: 3){
          name

        }
      }
    }

所以我可以在解析器中使用参数 -->

        export const resolvers = {
            Query: {
                async category(root, args, context) {
                    return Categories.findAll({limit: args.limit, offset: args.offset});
                },
                async marker(root, args, context) {
                    return Markers.findAll({limit: args.limit, offset: args.offset});
                },
            },
            Category: {
                async markers(category){
                    return category.getMarkers();
                }
            }
    }

即我可以将它传递给查询解析器,因为它是在模式中定义的,但我不能将它应用于类别类型中的标记解析器

最佳答案

您可以将查询变量放在架构中的任何位置,而不仅仅是顶层:

https://learngraphql.com/basics/query-variables/3

关于javascript - apollo graphql 传递参数来解析函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38794060/

相关文章:

javascript - Direct Line API Microsoft Bot Framework - 获取 token 而不在 Javascript 中公开公开 secret

javascript - 铁 :router not rendering template

node.js - GraphQL 中 `schema` typedef 有什么用?

javascript - apollo-client 没有响应头

java - 有没有办法将 Java 服务器中的 GraphQL 查询转换为 SPARQL 查询?

单击按钮时滚动到顶部的 JavaScript 代码

javascript - 如何跟踪 React 钩子(Hook)?

javascript - 在 meteor 集合前使用 @ 是什么意思?

javascript - 搜索对象 react

javascript - 如何从浏览器控制台查询我的 MongoDB 集合?