我们正在创建一个新应用,它包含以下类型的数据,我正在寻找一些帮助,以便在Firestore中组织数据的最佳方式。
我们有以下内容:
用户
产品
到此为止,它是直截了当的,因为我们可以为用户提供一个集合,为产品提供一个集合。
现在,接下来是:
因此,典型的产品将如下所示:
产品(由用户发布) - 用户评论 - 评论用户的评论 - 用户对产品的评论
我正在研究在Firestore中组织这些数据的最佳方法。
我可以想到两种可能的方式:
可能性1
有4个收藏:
这些集合中的文档将由产品ID引用。
可能性2
有两个主要的集合,然后作为产品集合的子集合进行评论和评论:
这两种可能性中的哪一种是在Firestore中组织内容的最佳方式?
答案 0 :(得分:2)
firestore docs提供了两种方法的优缺点列表: https://firebase.google.com/docs/firestore/manage-data/structure-data
TL;具有根级别集合的DR在大多数情况下是可取的,除非数据真的是分层的,所以我选择1),因为它只是为您提供最大的灵活性。
例如,你仍然可以过滤所有评论,所以如果你想显示用户的所有评论,你可以轻松地做到这一点2)这样的任务更难完成。