首页 > 解决方案 > 这个 graphql 模式有什么问题?索引键的类型不匹配

问题描述

当我使用来自 aws 的新 DataStore 插件时:

await DataStore.save(
          new User({
            firstname: "John",
            lastname: "Doe"
          })
        )

appsync 中对 graphql api 的请求包含:userStatusId: null。这会导致错误:“索引键的类型不匹配”。在创建用户时我不想要那个字段。那么我该如何摆脱它呢?一个用户可以有一个状态。一个状态可以存在于许多用户中。当我查询时,DataStore.query(User)我想在其中包含所有关系字段,例如状态。这部分在使用下面的模式时有效。

type User @model {
  id: ID!
  firstname: String
  lastname: String!
  status: Status @connection(name: "StatusUsers")
}

type Status @model {
  id: ID!
  users: [User] @connection(name: "StatusUsers")
  name: String
}

如果我以另一种方式处理保存部分的关系,但在查询用户时我没有得到关系状态数据。

谢谢

标签: graphqlamazon-dynamodbaws-appsyncamplifyjs

解决方案


推荐阅读