Firebase 如何使用Firestore作为数据库在twitter克隆应用程序中共享帖子?

Firebase 如何使用Firestore作为数据库在twitter克隆应用程序中共享帖子?,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我有一个Firestore数据结构和一个文档,在这个文档中,我的所有追随者都可以看到我的recentPosts,方法是根据文档的users字段查询文档集合,查询用户名如下 我的问题是如何将他人的帖子共享给我的追随者,目前我正在将共享的帖子复制到我的最近的帖子和我的单独的帖子文档集合中,但是如果一个用户删除了帖子,而该帖子被数百万用户共享,该怎么办?我必须删除所有共享帖子,有更好的解决方案吗?鉴于您在数据模型中的选择,删除重复帖子几乎是正常的解决方案。我也不认为这有问题,因为: 您已经开始向所有

我有一个Firestore数据结构和一个文档,在这个文档中,我的所有追随者都可以看到我的
recentPosts
,方法是根据文档的
users
字段查询文档集合,查询用户名如下


我的问题是如何将他人的帖子共享给我的追随者,目前我正在将共享的帖子复制到我的
最近的帖子
和我的单独的帖子文档集合中,但是如果一个用户删除了帖子,而该帖子被数百万用户共享,该怎么办?我必须删除所有共享帖子,有更好的解决方案吗?

鉴于您在数据模型中的选择,删除重复帖子几乎是正常的解决方案。我也不认为这有问题,因为:

  • 您已经开始向所有这些关注者发送重复的帖子,因此删除只是另一次写入
  • 在大多数应用程序中,删除和其他写入操作相对不常见。如果没有,请考虑是否真的要将数据复制到所有追随者。

  • 您可以选择使用一个已删除帖子的全局列表来实现这一点,然后每个客户端都会读取这些帖子。但在这一点上,您正在使读取数据的代码更加复杂,以防止写入,这通常不是使用NoSQL数据库时的最佳方法。

    不,我没有向所有用户发送帖子,它只是一个文档,并且用户数组字段中的所有
    用户将收到相同的文档,正如你所说,我认为删除的频率较低,因此我认为删除没有问题,或者我可能不得不从另一个角度考虑ufff。对于关系数据建模背景的开发人员来说,过早地进行优化并不少见。:)如果你在那个营地,我强烈建议你阅读和观看。