Database Firestore:学术时间表结构
我正试图找出一个有效的结构来存储Firestore中的学术时间表 我需要解决的问题是:Database Firestore:学术时间表结构,database,google-cloud-firestore,Database,Google Cloud Firestore,我正试图找出一个有效的结构来存储Firestore中的学术时间表 我需要解决的问题是: 每门课程都有自己的开始和结束时间 每门课程都有自己的持续时间(以周为单位) 每门课程都有许多不同的时间表 需要能够分析每堂课的出勤率 以下是我现在的结构: courses - course_id: string - duration: number (weeks, eg: 24) - end_time: number (timestamp of the last course day) - sta
- 每门课程都有自己的开始和结束时间
- 每门课程都有自己的持续时间(以周为单位)
- 每门课程都有许多不同的时间表
- 需要能够分析每堂课的出勤率
courses
- course_id: string
- duration: number (weeks, eg: 24)
- end_time: number (timestamp of the last course day)
- start_time: number (timestamp of the first course day)
- name: string
modules
- module_id: string
- lectures: array
- lecture_id
- name: string
- code: string
- no_students: number
classes
- class_id: string;
- start_time: string (eg: 10:00)
- end_time: string (eg: 11:00)
- weekday: string (eg: Monday)
- module: map (a copy of module object to reduce reads)
- start_week: number
- end_week: number
timetables
- timetable_id: string
- classes: array
- class_id
- duration: number (duration in weeks, eg: 11)
- semester: number
- week: string (current week, eg: 4)
users
...
- timetable_id: string
一个单独的班级集合可以更容易地与考勤集合进行比较
为了阅读时间表,我先获取用户文档,然后获取时间表文档,然后使用firestore.getAll()
获取类。这会导致大量的文档读取
要更新本周,我需要更新每个时间表文档
有什么更好的方法来解决这个问题
感谢您的时间和帮助。在Firestore的不同文档中重复重要数据非常好
假设戴安娜想通过电话阅读她的时间表,她的时间表有4门课程,3个模块,10节课。将所有这些细节放在一个文档中,这样当她想在应用程序屏幕上查看她的时间表时,应用程序就会阅读一个文档来完成她的时间表。每个学生都有自己的时间表文件你为什么要问更好的方法?这一个有什么问题?只是想知道是否有一种方法可以减少读取,因为这样会更便宜。你试图优化一些甚至还不是问题的东西?现在优化一些东西比在生产时更容易。你还没有告诉我们这一个有什么问题,所以它需要“立即优化”。