Firebase数据库冗余

时间:2018-10-19 18:10:00

标签: firebase firebase-realtime-database

我正在通过Firebase使用实时数据库构建内部Web应用程序。它是用于专业学习注册的,我正在尝试弄清楚如何最好地构造树。

我有3条主要数据路径:courses/regs/users/。当我请求快照时,我会将每个数据库中的数据保持隔离,以最大程度地减少数据下载。但是,我发现我正在复制数据(而不是保存在存储中)或 我正在使用多个调用来收集和构建用户所需的信息。

我用树完成了三个主要视图:

  1. 所有可用课程(未注册用户的地方)
  2. 当前用户的课程
  3. 管理员查看列出的课程和所有注册用户

数据

courses: {
  course_1: {
    title: 'Some course',
    location: 'Some place',
    organizer: 'Organizer 1',
    desc: 'Some string description',
    start: `datestring`
  },
  course_2: { ... }
}, 
regs: {
  course_1: {
    title: 'Course Title',
    users: {
      userUid1: {
        name: 'Person 1',
        email: 'person1@email.com'
      },
      userUid2: { ... },
    },
  },
  course_2: { ... }
},
users: {
  userUid1: {
    building: 'Location',
    name: 'Person 1',
    email: 'person1@email.com'
    regs: {
      course_1: {
        title: 'Some Course'
        start: 'datestring`,
        location: 'Some place'
      },
      course_2: { ... }
    }
  },
  userUid2: { ... }
}

所以,我的问题是:在什么时候,数据非规范化比更深的树更不易理解?我需要重新考虑这个结构吗?

0 个答案:

没有答案