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

时间:2019-06-03 12:37:28

标签: firebase google-cloud-firestore

我有一个Firestore数据结构和一个文档,我的所有关注者都可以根据存在查询用户名的文档的recentPosts字段来查询文档集合,以查看我的users就像下面一样。

enter image description here

我的问题是如何与我的关注者分享其他人的帖子,目前我正在将共享的帖子复制到我的recentPosts和我的帖子集合文档中,但是如果用户删除该帖子怎么办该帖子已被数百万用户共享?我必须删除所有共享的帖子,有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

考虑到您在数据模型中的选择,几乎必须删除重复的帖子。鉴于以下原因,我也不认为这有问题:

  1. 您已经开始将重复的帖子写给所有这些关注者,因此删除只是另一写。
  2. 在大多数应用程序中,删除和其他写操作相对少见。如果不是,请考虑是否真的应该将数据复制给所有关注者。

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