Firestore 数据库结构

问题描述 投票:0回答:1

我有一个使用 Firestore 作为数据库的 Web 应用程序。它帮助教师管理班级、学生和课程。当老师登录应用程序时,他们可以选择他们负责的课程之一。选择班级后,他们可以从该班级中选择一名学生。一旦选择了学生,老师就可以看到该学生在一天或一个月内参加的课程列表。

当前数据库结构 我有一些收藏:

大学 id:字符串名称:字符串

Class id:字符串 classId:字符串 名称:字符串

学生 id:字符串 classId:字符串 名称:字符串

Lesson(作为Class的子集合)id:字符串classId:字符串studentId:字符串executedOn:number

但是我遇到了一个问题,学生可以在班级之间移动,从而很难查询他们参加的课程。

我决定通过将子集合“Lesson”移动到学生子集合或单独的集合来重组我的数据库。

我认为随着应用程序的扩展,将子集合“Lesson”移动到单独的集合将是更好的选择,但我想知道这种方法是否有任何潜在的缺点。请给我建议吗?

firebase google-cloud-firestore
1个回答
0
投票

将 Lesson 制作为顶级集合是完全可以的,这就是我在这种情况下会做的事情。

如果它是 Student 的子集合,则意味着课程中不能有超过一名学生。

© www.soinside.com 2019 - 2024. All rights reserved.