如何将MongoDB Aggregate管道输出的多份文档合并为单个文档
正确聚合管道写法
你只需要替换现有最后阶段为如下两个连续的聚合阶段即可:
// 第一阶段:将所有文档归为同一组,收集所有_id到数组 { $group: { _id: null, idList: { $push: "$_id" } } }, // 第二阶段:调整字段名符合输出要求 { $project: { _id: "$idList" } }
原写法问题说明
你之前的写法错误是分组规则配置不合理:
$group的_id字段用于定义分组维度,你填写的"$uniqueIds"在你上游输出的文档中不存在对应字段,无法实现多文档合并的效果- 要实现全量文档合并为1个,必须将分组维度设为固定常量(比如
null),所有文档才会被归为同一个分组输出
内容的提问来源于stack exchange,提问作者Jay
相关产品推荐
相关产品推荐

