文章标题
2017-01-23 09:19
211 查看
1.集合设计
学生集合里面每个文档存储学生选课的课程id数组,如下图通过聚合查询,得到的学生课程数组的个数为0。为什么呢? 因为courses._id的写法是有误的,courses是一个数组,根本就不能直接有_id的属性。当然有人会说写成类似courses[0]._id的形式不就可以了吗。这种想法是行不通的,因为在courses数组个数大于1的时候,我们总不能写死courses[0],courses[1]…我们需要动态的关联两个表。
为了在查学生的同时把学生的选课一并查出,课程集合里面每个文档存储学生id数组
通过聚合查询得到了我们想要的结果: