繁体   English   中英

带有 React 和 AWS Amplify 的空数组的 GraphQL 突变

[英]GraphQL mutation with empty array with React and AWS Amplify

我正在尝试创建一个具有“列表”数组的“用户”。 当我尝试第一次创建用户时,我想要一个空的“列表”数组,以便以后添加。

这是我的架构:

type User @model {
  id: String!
  email: String!
  lists: [List] @connection(name: "UserLists")
}

type List @model {
  id: ID!
  name: String!
  owner: User! @connection(name: "UserLists")
}

这是 createUser 突变 function:

export const createUser = /* GraphQL */ `
  mutation CreateUser(
    $input: CreateUserInput!
    $condition: ModelUserConditionInput
  ) {
    createUser(input: $input, condition: $condition) {
      id
      email
      lists {
        items {
          id
          name
          createdAt
          updatedAt
        }
        nextToken
      }
      createdAt
      updatedAt
    }
  }
`;

这是我要打的电话:

let input = {
    input: {
       email: 'test@test.com',
       id: 'ab953afe',
       lists: [],
     },
};

await API.graphql(graphqlOperation(createUser, input));

我收到了这个错误:

“变量输入包含一个字段名称‘列表’……为输入 object 类型‘CreateUserInput’定义”

如果我为“列表”省略任何内容,我可以创建一个新用户。

任何想法为什么我会看到这个错误以及我应该如何做到这一点?

只需从输入中删除list: []

const input = {
    input: {
       email: 'test@test.com',
       id: 'ab953afe',
     },
};

await API.graphql(graphqlOperation(createUser, input));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM