遵循Firestore

时间:2018-05-28 02:31:01

标签: angular firebase google-cloud-firestore

所以我现在已经考虑了一段时间了,而且我认为我已经很好地解决了我的要求,但我想知道你们对它的看法:

假设您要构建一个具有基于关注者的Feed的社交网络,并且您正在使用Cloud Firestore来存储帖子和其他用户数据,并使用Angular或Ionic作为您的前端。您如何对数据建模,以便每个用户只能看到他所关注的用户的帖子?

我的方法就是这样:拥有一个用户集合,您可以在其中存储基本用户信息。在那里你有一个名为'粉丝的领域'另一个名为'跟随'。两者都是字符串数组,它们分别包含某个用户所遵循或遵循的用户的ID。在该用户文档中,您还有一个名为' feed'的字段,该字段包含用户应在其Feed中看到的帖子ID。

然后你有一个名为posts的单独集合,当用户添加帖子时,它会触发一个云函数,该函数获取发布它的用户的文档,并遍历跟踪该特定用户的用户。然后,您获得与该用户ID相对应的用户,并将帖子ID推送到' Feed'字段。

最后,当用户进入主页(或应该出现提要的位置)时,您将遍历'提要的前30个(或其他数字)元素。 array并获取文档,然后执行scan()(rxjs运算符)将它们添加到' posts'数组表单,您将迭代以显示帖子。然后你可以使用无限滚动来显示更多帖子。

您如何看待这个?这是一个好方法吗?

1 个答案:

答案 0 :(得分:1)

我能看到的唯一问题是按时间顺序恢复帖子。也会有很多询问每次都有个别帖子。

如果您设法解决了这个问题,请感兴趣。