mongodb - Mongodb用结果数组返回每个不同的项目
问题描述
如果我有不同州的客户集合,例如:
{
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 可能是要走的路,但我仍然无法弄清楚。
解决方案
推荐阅读
- firefox - Firefox 无法打开“libgtk-3.so.0”。如何规避?
- javascript - 带有 chrome 扩展工具的 Winston 记录器
- javascript - 如何在html中多次重复相同的图像?
- json - 每个 Mongo 文档的唯一道具是错误的形式还是会降低性能?
- android - CrashlyticsListener 不是由 JNI 中的崩溃触发的
- git - 如何向最后一个未推送的提交添加新更改?
- android - 在 Android 上转换音频文件
- java - 在 Java 中将 CompletionStage 组合到 play 框架动作中
- amazon-web-services - 在 Golang 中使用 UploadPartCopy 到 MultiPartUpload 时遇到 AccessDenied
- c++ - 获取正在运行的进程的模块数