【问题标题】:GraphQL Apollo Mutation with Input Type带有输入类型的 GraphQL Apollo 变异
【发布时间】:2019-05-13 09:05:11
【问题描述】:

我想将类型任务添加到我的里程碑,但我无法弄清楚我的查询的语法:

这是我的架构:

type Milestone {
  _id: String!
  title: String!
  task: [Task]
}

type Task {
  _id: String
  name: String
}

input TaskInput {
  _id: ID!
  name: String!
}

type Mutation {
  createMilestone(title: String!, task: TaskInput!): Milestone
}

在没有任务的情况下创建里程碑确实可以使用以下查询:

mutation {
  createMilestone(title: "TestMilestone") {
    _id
    title
  }
}

【问题讨论】:

    标签: graphql apollo mutation


    【解决方案1】:

    要添加Task 输入,请将变异写为

    mutation {
            createMilestone(
                title: "TestMilestone",
                task: {
                    _id: "YouId",
                    name: "Lorem"
                }) {
              _id
              title
              task {
                   _id
                   name
               }
            }
          }
    

    【讨论】:

    • 当我在响应中运行没有“:”的代码时(任务 {_id 名称})它可以工作,但任务未存储在文档中。这是保存的内容: { "_id" : ObjectId("5c10f6ed9eb3603fa4feb2db"), "title" : "TestMilestone2", "__v" : 0 }
    • @Stef 感谢 ':' 并在这种情况下检查解析器,因为从 graphiql 结束,我没有看到任何问题。
    • 天哪,你说的太对了:)。我忘记将任务包含在猫鼬定义和解析器中。谢谢!
    • @Stef 酷!!非常欢迎也考虑接受我的回答。
    猜你喜欢
    • 2019-03-15
    • 2023-03-05
    • 2017-02-21
    • 2021-01-08
    • 2020-09-30
    • 1970-01-01
    • 2020-05-29
    • 2021-04-19
    相关资源
    最近更新 更多