我有三个集合,学生集合,班级集合,课程集合。。只有学生集合里面包含了班级的id以及课程的id,其他没有任何关联,,现在我想要查询出每个班级选每门课程的数量,应该要如何写查询语句。谢谢
db.student.aggregate([ { $group:{ _id:{classid:"$classid",lessonid:"$lessonid"}, num:{$sum:1} } } ])
来自酷炫的 CNodeMD
好的,谢谢哈,,那有没有方法,再次对这个group得到的集合用populate?
@LiChangyi
db.student.aggregate([ { $group:{ _id:{classid:"$classid",lessonid:"$lessonid"}, num:{$sum:1} } }, { $lookup:{ from:"class",//班级集合名称 localField:"_id.classid", foreignField:"_id", as:"classinfo"//将班级信息放入classinfo中 } }, { $lookup:{ from:"lesson", localField:"_id.lessonid", foreignField:"_id", as:"lessoninfo"//将课程信息放入lessoninfo中 } } ])
@lovegnep 好的,真的非常感谢你
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
来自酷炫的 CNodeMD
好的,谢谢哈,,那有没有方法,再次对这个group得到的集合用populate?
@LiChangyi
@lovegnep 好的,真的非常感谢你
来自酷炫的 CNodeMD