mongodb - 将文档合并为单个文档
问题描述
如何使用 mongodb 聚合管道来获得最终结果?
我有以下文件
{
"_id" : "aaa",
"Count" : 137.0
}
{
"_id" : "bbb",
"Count" : 11.0
}
{
"_id" : "ccc",
"Count" : 236.0
}
我需要将它们合并到一个看起来像这样的文档中..
{
aaa: 137,
bbb: 11,
ccc: 236
}
谢谢!
解决方案
您可以使用以下聚合。
用于$arrayToObject
将具有值的数组转换为对象,然后$mergeObjects
将所有文档合并为单个文档。
$replaceRoot
将结果提升为top。
db.colname.aggregate([
{"$group":{
"_id":null,
"results":{"$mergeObjects":{"$arrayToObject":[[["$_id","$Count"]]]}}
}},
{"$replaceRoot":{"newRoot":"$results"}}
])
推荐阅读
- javascript - 如何在A字架中设置模型的尺寸?
- .net - 将旧版 HttpWebRequest POST 转换为 HttpClient 异步 POST 类 (VB)
- angular - 如何使用Angular 6多次动态更改图像背景
- python - 如何非对称地填充数组(例如,仅从一侧)?
- node.js - Axios 没有在请求中放置原始标头
- python - 过滤 pandas DataFrame 中的行
- php - 是否可以将嵌套的 Where 分组在 laravel 上的 Eager 加载中与父级?
- msbuild - MSBuild 传递 ProjectReference 的内容未复制以构建单元测试项目的输出
- android - 使用宽限期测试 android 订阅
- kurento - kurento 启动错误事件:尝试连接时 URI 无效