微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Fauna DB GraphQL 突变通过其 ID 更新表单的许多表单输入

如何解决Fauna DB GraphQL 突变通过其 ID 更新表单的许多表单输入

我有以下 graphQL 模式,在 faunaDB 上运行

type Form {
  name: String!
  index: Int!
  user: User
  formInputVals: [FormInputVal!] @relation
}

type FormInputVal {
  name: String!
  index: Int!
  type: String!
  formRoot: Form!
}

type User {
  name: String!
  email: String!
  password: String!
  forms: [Form] @relation
}

type Query {
  allForms: [Form!]
  allUsers: [User!]
  allFormInputVals: [FormInputVal!]
}

我试图弄清楚我将如何查询和编写一个突变,在那里我将更新一个特定的表单 id 并通过那里的 id 或 fauna db 中所谓的引用更新与该表单相关的所有特定文档。

>

我可以使用此更改更新表单名称

mutation{
  updateForm(id:"291541554941657608",data:{name:"test"}){
    name
  }
}

但除此之外,我似乎无法弄清楚如何更新 Form 类型的多个 FormInputVals。我和 faunaDB 谈过,他们说我可能需要一个解析器通过 lambda 函数来实现,任何熟悉这个的人都可以这样做。我已经发布了另一个问题,但我已经改变了这个问题的最终目标,但这个问题是类似的 Designing the db and state mutations and requests of a form builder in react with graphQL,faunaDB,nextJS & Apollo

请参阅我的表单中有一个对象,该对象映射到 fauna DB 集合中的文档 ID。看起来是这样。

[{"291705061039407629":{"name":"test","type":"text"}},{"291705951034016264":{"name":"test","type":"text"}}]

我如何更新 faunaDB 中 FormInputVal 类型的两个匹配记录。数字代表集合中文档的 ID。

这是用于更新 formInputVal 的 GraphQL 文档的屏幕截图,我的问题是我想一次更新多个文档。

enter image description here

这里是 updateForm 文档

enter image description here

更新:我发现创建选项可以一次添加多个文档,只需要弄清楚我是否可以更新或替换所有文档。这是一次添加多个文档的方法

 mutation{
  updateForm(id:"291541554941657608",data:{
    name:"hello",index:0,formInputVals:{
      create:[
        {name:"test",type:"text"},{name:"test",]
    }
  }){
    name
    formInputVals{
      data{
        name
        type
        index
      }
    }
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。