首先,我不说问题解决没解决!
我只看您的回答文字,已经知道您是一位很耐心,细心且不厌其烦的一位好老师!在这里我先代表所有已经看过您教程的同学对您说一句辛苦了!
接下来,我仔细的看了一下您的答复!
发现我第一次问您问题的时候,还是没有抛开关系型数据库的思想,虽然我已经知道两种数据库之间不能按照一个思想走.但是还是把问题问到了关系型上!
但经过这几天空闲时间,按照问题进行了实验,不知道这样设计是否正确,请您查阅:
首先,我将老师和班级分成两个文档.
考虑到如果是内嵌的话,假如再来一个学生文档,我要查询学生所在班级,那么内嵌就不合适了!因为如果班级名称或班级文档的数据发生变化,那么我需要修改另一个文档的数据,这样维护起来很麻烦!当然,内嵌是效率最高的一种!
那么第二种设计就产生了:
我把老师文档,学生文档,同时都引入了一个字段,叫做班级IDS,代表着这个字段装的都是这个老师或者这个学生所有的班级ID!
之后通过先前所学的聚合,从管道中筛选,$match,$lookup之后再从管道中获取我所需要的数据!
很好,这次实验室成功的! 但是,难免会有效率问题,例如索引,事务,这些!
因此考虑到这些个问题,疑问再一次产生!
例如这种班级,老师的设计,会有一些关系的文档.我们应该怎样去维护比较合适!