我正在建立一个网站,用户可以在其中发布简短文本,其他人可以对此发表评论。我正在使用Firebase身份验证来管理用户,并使用Firebase Firestore来存储帖子。
我有2个问题:
首先,要存储注释,我应该使用根级别收集吗?还是分邮文件下的收藏?
第二,在我的网站上,允许用户更改其显示名称(使用Firebase Auth)。如何确保评论和帖子将显示更新的显示名称?
答案 0 :(得分:1)
#1没有唯一的正确答案,这取决于您要实现的用例。要意识到的最重要的事情是,您不能跨多个集合进行查询。因此,如果您想在多个帖子中显示/查询评论,则需要确保所有评论都在一个集合中。
另一方面,如果您一次只显示/查询单个帖子的评论,则将评论保留在它们所属帖子的子集合中可能会更容易。
对于#2,我将带您参考我先前在How to write denormalized data in Firebase上给出的答案。尽管该问题与实时数据库有关,但通用方法同样适用于Cloud Firestore。