Mongodb Aggregate函数引用另一个集合

时间:2016-03-17 15:49:43

标签: mongodb mongodb-query aggregation-framework

我有两个收藏品

{
  "name": "Tom",
  "car_id": "55b73e3e8ead0e220d8b45f3"
}
...

汽车

{
  "model": "BMW",
  "car_id": "55b73e3e8ead0e220d8b45f3"
}
...

我如何进行查询,以便获得以下结果(例如)

BMW : 2
Toyota: 3

以下是我的聚合函数。我可以将数据输出,但它会使用汽车_id代替型号名称。

db.persons.aggregate([
   {
    $group: {
        _id: {
            car_Id: "$car_id",
        },

        carsCount: {$sum: 1}
    },
  },
]);

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用一个查询在一个集合内部聚合。我建议保留类似或类似的汇总数据:

{
    car_id: 273645jhg2f52345hj3564jh6
    sum: 4
}

当您需要向用户公开数据时,用名称替换ID。