如何构建一个像twitter
这样的社交网络数据库结构,在这里我们可以关注一个用户,并在我们的时间线上获得他们的所有tweet,我已经检查过这个Firestore - how to structure a feed and follow system ,但帖子中的解决方案看起来有缺陷。
Firestore是不同的,它需要冗余数据才能有效地访问数据,但假设我关注了1000人,如果我需要通过查询我关注的每15个用户的数据并使用limit(10)
方法来获取所有这些用户的帖子,那么两次查询之间可能会有未读帖子,因为我们正在使用last post timeStamp
获取帖子,如何在Firestore中构建社交媒体应用程序的数据
发布于 2021-06-11 16:24:58
来开发像Twitter这样的社交媒体应用。Firestore查询是不够的。Twitter为每个用户生成个性化的时间线。这就是云函数的用武之地。
您需要一个云功能来监控新帖子,并将其复制到后续用户的时间线中。你不需要复制整个tweet数据。你可以只复制tweet id和其他需要排序的字段,比如时间戳。
因此,当我查询我的时间线时,我将获得所有的tweet ids。然后,当用户要滚动时,我可以加载原始的tweet。因为喜欢和不喜欢会影响到原始的推文。
https://stackoverflow.com/questions/56210050
复制相似问题