【发布时间】:2015-03-28 16:46:11
【问题描述】:
我有一个包含以下数据的集合:
{
"_id" : ObjectId("5516d416d0c2323619ddbca8"),
"date" : "28/02/2015",
"driver" : "user1",
"passengers" : [
{
"user" : "user2",
"times" : 2
},
{
"user" : "user3",
"times" : 3
}
]
}
{
"_id" : ObjectId("5516d517d0c2323619ddbca9"),
"date" : "27/02/2015",
"driver" : "user2",
"passengers" : [
{
"user" : "user1",
"times" : 2
},
{
"user" : "user3",
"times" : 2
}
]
}
并且我想执行聚合,以便我知道某个乘客的时间,它与某个驾驶员在一起,在我的示例中它将是:
对于用户 1:[{ driver: user2, times: 2}]
对于用户 2:[{ driver: user1, times: 2}]
对于用户 3:[{ driver: user1, times: 3}, {driver: user2, times:2}]
我对 mongo 很陌生,知道如何使用 sum 执行简单的聚合,但不是当它在数组内部时,当我的主题本身在数组中时。 执行这种聚合的适当方法是什么,更具体地说,我如何在基于 express.js 的服务器中执行它?
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework