如何根据mongodb中的两个集合对数据进行分组?

时间:2015-12-23 18:02:37

标签: mongodb mapreduce aggregation-framework

以下是我的两个收藏品

users:{
  _id: "",
  email: "test@gmail.com",
  department: "hr"
}

details:{
  _id: "", 
 email: "abc@gmail.com"
  some_data:[
    {user_email: "test@gmail.com", ....},
    {user_email: "test1@gmail.com", ....},
    {user_email: "test@gmail.com", ....},
  ]

}

我需要的是根据电子邮件说明详细信息中前3个部门的输出。 示例:

If I query for email: abc@gmail.com, I must get
[
{department: "hr", count: 4},
{department: "finance", count: 3},
{department: "IT", count: 2}
]

我知道db设计很糟糕但我现在无法做任何事情。那么如何在MongoDB中实现这一目标。

我想要details.some_data的结果,但是会根据department的{​​{1}}字段进行分组。

0 个答案:

没有答案