Firebase 如何在Firestore中构造like查询?
我正在构建一个简单的应用程序,其中帖子出现在用户的主页上,用户可以喜欢也可以不喜欢。 首先,当应用程序中没有用户时,我创建了一个简单的布尔字段“liked”,如图所示,以确定一篇文章是喜欢还是不喜欢。然而,当我开始与用户合作时,我发现很难为likes字段找到完美的结构 在Firestore中,我为每个帖子添加了一个名为“likedBy”的字段,其中包含一个映射,其中包含每个用户id的键和一个布尔值,用于确定用户是否喜欢帖子Firebase 如何在Firestore中构造like查询?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我正在构建一个简单的应用程序,其中帖子出现在用户的主页上,用户可以喜欢也可以不喜欢。 首先,当应用程序中没有用户时,我创建了一个简单的布尔字段“liked”,如图所示,以确定一篇文章是喜欢还是不喜欢。然而,当我开始与用户合作时,我发现很难为likes字段找到完美的结构 在Firestore中,我为每个帖子添加了一个名为“likedBy”的字段,其中包含一个映射,其中包含每个用户id的键和一个布尔值,用于确定用户是否喜欢帖子 我不知道这个结构是否合适,如果不合适,有没有更好的方法来达到我的目标?
我不知道这个结构是否合适,如果不合适,有没有更好的方法来达到我的目标?likedBy字段足以覆盖大多数用例。
只需按用户ID将喜欢帖子的所有用户的数组存储在
likedBy
中。当用户喜欢时,将用户ID添加到数组中,并在不喜欢时将其删除。这意味着您还可以删除
likes
和liked
字段,就像您可以通过读取likedBy
数组获得它一样。我建议您再进一步,保存比用户ID更多的内容。您还可以保存用户显示名称
和照片URL
。这样,您就不需要阅读($$$$money$$$$)每个喜欢帖子的用户的文档来显示他们的姓名和/或头像。上述结构存在问题。注册用户减少之前没关系。