gpt4 book ai didi

node.js - GraphQL 嵌套突变 + Sequelize

转载 作者:行者123 更新时间:2023-12-03 22:27:52 26 4
gpt4 key购买 nike

我正在使用带有 apollo 客户端的 graphQL、sequelize 和 nodejs。
我从 UI 发送的数据是以下形式的嵌套结构:

Grandparent

Parent

Child



因此,祖 parent 可以有一个或多个 parent ,而 parent 可以有一个或多个 child 。

我正在尝试使用一个 GraphQL 突变更新我的 SQLite 数据库,该数据库是使用 sequelize 创建的。我能够创建具有扁平结构的突变:

schema.gql 文件内容 ->
type Mutation Family(
grandParentName: String,
grandParentHeight: String,
Parent: String,
)

但我想要一些类似的东西
type Mutation CreateNestedFamily(
grandParentName: String,
grandParentHeight: String,
Parent: CreateParent(
parentName: String,
parentHeight: String
child: CreateChild(
childName: String,
childHeight: String
)
)
)

但我不知道如何实现这一点,并且围绕嵌套突变的 graphql 文档非常有限。

任何帮助,将不胜感激!

最佳答案

您描述问题的方式有点奇怪,但我会尽力为您指明正确的方向。

GraphQL 中没有嵌套突变这样的东西,但是您可以构造输入类型,允许任意嵌套传递给单个突变的数据。

我将退出您的方法并解决一个特定问题“我想创建一个人和他们的后代”

input PersonInput {
name: String!
height: String!
children: [PersonInput!]
}

type Mutation {
createPerson(person: PersonInput!): SomeOutputType
}

希望你能看到这个结构的递归性质。对此施加限制会更加困难,即只允许 3 个级别深。

关于node.js - GraphQL 嵌套突变 + Sequelize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49296762/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com