【发布时间】:2019-12-29 16:20:20
【问题描述】:
我通过 AWS AppSync 使用 graphql。鉴于下面的模型,我希望当我成功使用 createClassroom 和 createClassroomInput 时,teacherClassrooms 将有一个与之关联的新 Classroom,并且新创建的 Classroom 将有一个与其关联的教师。
然而,结果是创建了Classroom,并且User 与新的Classroom 正确关联,但Classroom 没有与现有的User 关联。
type User @model {
id: ID!
userType: String!
teacherClassrooms: [Classroom] @connection(name: "TeacherClassrooms")
}
type Classroom @model {
id: ID!
teacher: User @connection(name: "TeacherClassrooms")
linkCode: String!
name: String!
}
export type CreateClassroomInput = {
id?: string | null,
linkCode: string,
name: string,
classroomTeacherId?: string | null,
};
所以,如果我查询listClassrooms,每个教室都会返回其关联的User。但如果我查询User,他们的teacherClassrooms 数组中没有任何教室。
创建新的Classroom 时是否需要updateUser?我的直觉和对the docs 的理解使我相信,当在模型属性上指定@connection 时,AppSync 会处理这两个更新。
或者这只是向后端指示“对于此属性数组中的每个 Id 都假定它的类型为 X 并且在查询时通过 Id 对相应的表进行获取”的一种方式?
【问题讨论】:
标签: amazon-dynamodb graphql aws-amplify aws-appsync