如何在 graphql 和 mongodb 的一个突变中保存多行?
Posted
技术标签:
【中文标题】如何在 graphql 和 mongodb 的一个突变中保存多行?【英文标题】:How can I save multiple rows in one mutation in graphql and mongodb? 【发布时间】:2019-05-24 06:20:38 【问题描述】:在这里,我想在一个突变查询中添加多个想法。 我怎样才能做到这一点:
mutation
savethoughts(data: [id:1,name:"a",data: id:2,name:"b"])
id
【问题讨论】:
mutation savethoughts(data: [ id: 1, name: "a" , id: 2, name: "b" ]) id 【参考方案1】:要在数据库中保存多条记录,您需要仔细执行每个步骤
例如
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!
这里你可以看到 Record 是输入类型的模式对象,其中 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
现在您可以根据您对对象的要求更改名称。
你成功了……
【讨论】:
这看起来很棒,谢谢@Ashok 这是我需要的。但是我没有得到嵌套的突变语法,你能解释一下吗? 啊,我明白了。 '\' 只是你说使用类型突变或根突变;)以上是关于如何在 graphql 和 mongodb 的一个突变中保存多行?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 GraphQL 在 MERN 应用程序的 MongoDB 模式中插入数组字段?
如何在不创建 Mongoose 模型的情况下将 GraphQL 与 Mongoose 和 MongoDB 一起使用
如何使用GraphQL在MERN应用程序的MongoDB模式中插入数组字段?
如何在本地使用带有 express 的 graphql 和带有 mongoose 的 mongodb 来检索文档?