Firebase数据库结构冲突

时间:2016-10-21 09:23:00

标签: firebase firebase-realtime-database nosql

所以我决定考虑如何继续使用我的应用程序中的结构,然后继续编码,因为我是NoSQL的新手。

 Users:
    ID
      email: "john@doe.com"
      name: "John Doe"
      profile_pic_path: "https://...".
      language: "en"
      exp_points: 1284

  Projects:
    /$PROJECT_ID
      title: "For whom the bell tolls"
      image: "etc.png"

  project_roles:
    /$PROJECT_ID
      $userId1: 5
      $userId2: 6

  roles:
    5: "Editor"
    6:" Writer"

现在我需要将orders添加到projects。每个order都是items的列表。

我的问题是:

  1. 我的结构尽可能平坦。由于我是NoSQL的新手,我做得对吗?如果你有什么改变的话,我想在我试图以最大的稳定性建立一切时尽快听到和学习。

1 个答案:

答案 0 :(得分:0)

昨天我开始学习json数据库,在本例中是firebase实时数据库......并且对firebase的正确模式有疑问......当你想要创建firebase数据库时,你需要有3个概念: / p>

  • 避免嵌套数据:Firebase支持32个嵌套节点,是否有必要使用所有节点?不...您的数据库使用更少的节点读取信息更简单快捷。请记住,当您调用父节点时,firebase将返回所有辅助节点信息。
  • 压缩数据结构以避开不必要的嵌套节点,这可以帮助您拥有更快的firebase数据库。
  • 创建比例数据或bidireccional节点,这可能是最重要的......因为您可能需要查看项目的订单或用户的订单,这里有一个双重节点,那么您需要创建一个索引json对象,以做更高效的数据库。

如果应用此概念,您可以构建一个好的JSON数据库。要详细了解此信息,请参阅此guide,其中包含示例和Google信息。我无法执行您的架构,因为您比我们了解您的应用程序所需的内容,阅读它,遵循示例并构建最佳架构。这篇youtuber讨论了firebase realdatabase及其规则的良好实践。问候!!