我正在使用mongo 3.6,我的文档如下。
{
"_id":1
"teacherName" :"",
"city" :"",
"expertise" :"",
"teachersPath": [
2,
3,
4,
5
]
},
{
"_id":2
"teacherName" :"",
"city" :"",
"expertise" :"",
"teachersPath": [
3,
4,
5
]
}
在这里,教师的等级就像,一位老师向老师2报告,而老师2向老师3报告,...
要求是在教师路径中让所有教师与给定的教师一起计数。还会有其他过滤器,例如专业知识,...
在这里,如果我给3,它应该返回2,并且在老师输入2时应该返回1。
db.getCollection(“ teacher”)。find(query).count();
上面的查询与单个教师输入和其他过滤器配合使用会很好。
不确定如何将多个教师输入分组。
因此,如果我给教师输入列表为2,3,则输出应为
{
[
{teacherId:2,count:1},
{teacherId:3,count:2},
]
}
在此,1个文档中的TeachersPath中存在TeacherId,2个文档中的TeachersPath中存在TeacherId 2。