【发布时间】:2022-04-19 11:12:11
【问题描述】:
我正在尝试为我的应用程序构建一个数据库,其中一个关键部分是用户与数据库中的各种模型的关联。我也在使用 Amplify 的身份验证来管理用户。以下是他们博客文章示例的略微修改版本。
type Blog @model {
id: ID!
name: String!
posts: [Post] @connection(name: "BlogPosts")
}
type Post @model {
id: ID!
title: String!
blog: Blog @connection(name: "BlogPosts")
comments: [Comment] @connection(name: "PostComments")
user: ##userid##???
likes: 0
}
type Comment @model {
id: ID!
content: String
post: Post @connection(name: "PostComments")
user: ##userid##???
}
这是我看到的一些问题。我可能想显示用户名和个人资料图片。我知道我可以为用户存储一个可选属性,例如图片 url,但是我可以访问其他用户的属性,因为他们不是当前经过身份验证的用户吗?另外,我将如何跟踪特定用户喜欢的帖子?我可以在 Post 模型上添加一个 likeBy 用户列表,但如果我想获得一个用户的所有喜欢的帖子,那将根本无法很好地扩展。然后在最低级别是存储创建帖子的用户的问题。没有用户模型可以与之关联以获取所有特定用户的帖子。解决方案是只拥有一个用户模型并通过身份验证对其进行管理吗?
【问题讨论】:
标签: javascript reactjs amazon-web-services aws-amplify aws-amplify-cli