繁体   English   中英

将文档合并为单个文档

[英]Merge documents into single document

如何使用 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将结果提升为顶级。

db.colname.aggregate([
  {"$group":{
    "_id":null,
    "results":{"$mergeObjects":{"$arrayToObject":[[["$_id","$Count"]]]}}
  }},
  {"$replaceRoot":{"newRoot":"$results"}}
])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM