MongoDB使用Java驱动程序在阵列上进行匹配和聚合

时间:2018-12-10 01:01:53

标签: mongodb

我正在使用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。

0 个答案:

没有答案