首页 文章

GraphQL嵌套变异Sequelize

提问于
浏览
0

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

祖父母父母的孩子

因此,祖父母可以有一个或多个父母,父母可以有一个或多个孩子 .

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

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文档非常有限 .

任何帮助,将不胜感激!

1 回答

  • 1

    你说出问题的方式有点奇怪,但我会尽我所能指出你正确的方向 .

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

    我会退出你的方法,并采取一个特定的问题“我想创造一个人和他们的后代”

    input PersonInput {
      name: String!
      height: String!
      children: [PersonInput!]
    }
    
    type Mutation {
      createPerson(person: PersonInput!): SomeOutputType
    }
    

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

相关问题