如何在graphql和mongodb中的一个突变中保存多行?

时间:2018-12-25 17:38:30

标签: mongodb express-graphql

在这里,我想在一个突变查询中添加多个想法。 我该如何实现:

mutation{
  savethoughts(data: [{id:1,name:"a"},data: {id:2,name:"b"}]){
    id
  }
}

1 个答案:

答案 0 :(得分:0)

要在数据库中保存多个记录,您需要仔细执行每个步骤

例如

mutation{
  setMultipleRecord(data: [{title: "first Title", name: "First"},
                           {title: "Second Title", name: "Second"}])
}

您必须具有架构类型

  `
  .......
  input Record {
    title: String!
    name: String!
  }
  .....
  ` 

并根据需要添加Mutation

  type Mutation/type RootMutation { {
    ......
    setMultipleRecord(data: [Record]): String!
  }

在这里您可以看到记录是输入类型的架构对象,其中是 data 参数保存变量,我们正在使用它来获取数据对象。

您可以输入任何名称而不是数据,也可以更改突变中的参数

现在解析器功能a

  Mutation: {
    setMultipleRecord: async(args, { data }) => {
      console.log(data)
      //Here data contain data which you passed which is
      // [{title: "first Title", name: "First"},
      //  {title: "Second Title", name: "Second"}]
      // Perform operation as your requirement
      // Please return String 
    }
  }

现在,您可以按对象要求更改名称。

您成功做到了...