Mongodb返回带有结果数组的每个不同的项目

时间:2018-10-26 00:25:54

标签: mongodb aggregation-framework

如果我有一组处于不同状态的客户,例如:

{
  name: "A",
  location: "Boston"
},
{
  name: "A",
  location: Los Angeles
},
{
  name: "B",
  location: Cleveland
}

我想返回每个具有不同位置的客户名称,如下所示:

[
{ name: "A", location: [ "Boston", "Los Angeles" ]},
{ name: "B", location: [ "Cleveland" ] }
]

任何想法该怎么做?我可以运行一个独特的程序并获得:

>db.customers.distinct("name");
[ "A", "B" ]

但是我无法弄清楚如何在阵列中获得每个客户的位置。我也尝试过运气不佳的聚合管道。我认为$ map或map-reduce可能是可行的方法,但我仍然无法弄清楚。

0 个答案:

没有答案