假设我的学生和老师处于多对多的关系。如果我只想找出给定学生的所有教师,反之亦然,我通常使用嵌入式对象ID对其进行建模。例如,如果教师拥有属性studentIds,该属性是学生对象ID的数组,那么这是足够的信息来完成所有您需要的查询。在MongoDB中应该如何模拟以下多对多关系?
但是,假设学生可以给老师一个评分。该评分应该如何与模型吻合?此刻,我做到以下几点:
- 里面的老师,而不是存储学生的阵列,我存储的 阵列JSON对象{studentId:物件,等级:字符串}
- 当进行查询,我JSON对象的数组转换成studentIds数组 并提取全部信息像往常一样
- 所以现在我有学生对象的数组和JSON对象与 数组的收视率
- 然而,由于在$ MongoDB中的运算符不保留排序,我需要做我的ow n的为了我能结合学生的排序
- 在最后一步,一切以收视率 对象来得到我想要
它的工作原理,但似乎有点令人费解的是有这样做的更好的办法?
似乎对我来说很合理.... –