Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 如何在Firestore中构造like查询?_Firebase_Flutter_Google Cloud Firestore - Fatal编程技术网

Firebase 如何在Firestore中构造like查询?

Firebase 如何在Firestore中构造like查询?,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我正在构建一个简单的应用程序,其中帖子出现在用户的主页上,用户可以喜欢也可以不喜欢。 首先,当应用程序中没有用户时,我创建了一个简单的布尔字段“liked”,如图所示,以确定一篇文章是喜欢还是不喜欢。然而,当我开始与用户合作时,我发现很难为likes字段找到完美的结构 在Firestore中,我为每个帖子添加了一个名为“likedBy”的字段,其中包含一个映射,其中包含每个用户id的键和一个布尔值,用于确定用户是否喜欢帖子 我不知道这个结构是否合适,如果不合适,有没有更好的方法来达到我的目标?

我正在构建一个简单的应用程序,其中帖子出现在用户的主页上,用户可以喜欢也可以不喜欢。 首先,当应用程序中没有用户时,我创建了一个简单的布尔字段“liked”,如图所示,以确定一篇文章是喜欢还是不喜欢。然而,当我开始与用户合作时,我发现很难为likes字段找到完美的结构

在Firestore中,我为每个帖子添加了一个名为“likedBy”的字段,其中包含一个映射,其中包含每个用户id的键和一个布尔值,用于确定用户是否喜欢帖子


我不知道这个结构是否合适,如果不合适,有没有更好的方法来达到我的目标?

likedBy字段足以覆盖大多数用例。
只需按用户ID将喜欢帖子的所有用户的数组存储在
likedBy
中。当用户喜欢时,将用户ID添加到数组中,并在不喜欢时将其删除。

这意味着您还可以删除
likes
liked
字段,就像您可以通过读取
likedBy
数组获得它一样。

我建议您再进一步,保存比用户ID更多的内容。您还可以保存用户
显示名称
照片URL
。这样,您就不需要阅读($$$$money$$$$)每个喜欢
帖子的
用户的文档来显示他们的姓名和/或头像。

上述结构存在问题。注册用户减少之前没关系。