Firebase Data Connect - 插入多个

问题描述 投票:0回答:1

我正在评估 Firebase Data Connect,但在使用 insertMany 功能时遇到了一项非常基本的任务。

我想创建一个突变,将权限分配给系统中的新角色。让我们想象一下以下 GQL 架构:

    # Permission
    type Permission
      @table(
        name: "Permission"
        singular: "permission"
        plural: "permissions"
        key: ["id"]
      ) {
      id: UUID! @col(name: "permission_id") @default(expr: "uuidV4()")
      name: String! @unique
      type: String!
      description: String!
    }

    # Role
    type Role @table(name: "Role", singular: "role", plural: "roles", key: ["id"]) {
      id: UUID! @col(name: "role_id") @default(expr: "uuidV4()")
      name: String! @unique
      description: String!
    }

    # Role and Permission many-to-many relationship
    type RolePermission
      @table(
        key: ["role", "permission"] # join key for many-to-many
      ) {
      role: Role! @ref
      permission: Permission! @ref
    }

数据连接能够执行 insertMany 操作,但是...我不知道如何编写执行此操作的突变。我尝试了以下方法:

    mutation assignPermissionsToRole($rolePermissions: [RolePermission_Data!]!) {
      rolePermission_insertMany(data: $rolePermissions)
    }

但它会抛出以下错误:

mutation, assignPermissionsToRole On $rolePermissions: cannot use RolePermission_Data as a variable (please use one variable for each field instead, ex: 
{foo: $foo}
)

有人知道如何使用 insertMany 选项吗?

firebase firebase-data-connect
1个回答
0
投票

老实说..我发现这也很烦人。这并不是唯一受到限制的地方..我什至不能将 @auth 指令与令牌一起使用。

但是..如果您从云函数中执行此操作,并且基本上将查询生成为字符串,而不是将该数组作为变量传递..它可以工作。

丑陋的解决方法:/

© www.soinside.com 2019 - 2024. All rights reserved.