我正在构建一个包含用户,项目及其小型子项目的应用程序"步骤"。
这是我提出的数据库设计:
用户可以加入项目的全部或部分步骤。我试图按照指南尽可能保持数据库结构平坦。这听起来是最好的方法吗?
用户验证>加入项目>选择"步骤"加入
答案 0 :(得分:2)
恕我直言,是的,您已正确构建数据库。您做了什么,使用了flattening
和denormalizing
数据,这些数据是Firebase中的常见和良好做法。
您需要记住的是Firebase结构没有perfect rule
。您需要根据需要对数据库进行修改。不要仅仅为了这样做而使用flattening
。就像复制数据一样,只有在需要时才这样做。
总之,如果这个数据库结构满足您的需求,那么对您来说是最佳选择。如果您想了解有关为Firebase构建数据库的更多信息,请重新阅读以下帖子:Structuring your Firebase Data correctly for a Complex App和NoSQL Data Modeling Techniques。