【发布时间】:2018-11-03 09:29:08
【问题描述】:
我正在尝试使用 MongoDB 创建数据库。由于我没有使用 NoSQL 数据库的经验,我在设计数据库时遇到了一些麻烦。
我想创建一个数据库,其中一个学生可以是多个会话的一部分,一个会话可以包含多个学生(多对多)。此外,每个活动都与一个会话中的一个学生相关联。
到目前为止,我是这样设计的:
会话:
Sessions.students = [student_id1, student_id2]
学生:
Students.sessions = [session_id1, session_id2]
但我的问题是,我应该将关系存储在哪里,在会话或学生中,或两者中(如上)?
这是创建事件关系的正确方法吗?
事件:
Event.studentid = [student_id1]
Event.sessionid = [session_id1]
【问题讨论】:
-
会话是您应该存储在数据库中的状态吗?我假设会话状态经常更改,因此您将大量修改会话文档..
-
阅读mongodb.com/blog/post/… 获取灵感。没有单一的“正确”方式,而是有多种“正确”方式,在不同的查询中效率不同。您需要估计数据的预期用途并设计最适合您的架构。
标签: mongodb