我的当前聚合输出如下:

[
    {
        "courseCount": 14
    },
    {
        "registeredStudentsCount": 1
    }
]

该数组有两个文档.我想将所有文档合并为一个文档,其中包含mongoDB中的所有字段

推荐答案

 db.collection.aggregate([
 {
   $group: {
    _id: 0,
     merged: {
    $push: "$$ROOT"
   }
   }
  },
 {
  $replaceRoot: {
  newRoot: {
    "$mergeObjects": "$merged"
   }
  }
 }
])

解释:

  1. 使用push将输出文档分组到一个字段中
  2. 用合并的对象替换文档根目录

Plyaground

Mongodb相关问答推荐

MongoDB:从集合页面数据中提取不同的值

在MongoDB中获取所有帖子时如何获取相关用户信息

匹配/筛选/投影对象中数组中数组中的嵌套字段

MongoDB:如何从数组中的所有对象中删除属性?

MongoDB 根据最新日期查询多个不同的值

如何在 kubernetes 中获取分片 mongodb 的备份

为什么一个 mongodb 副本集需要奇数个投票 node ?

node.js & express - 应用程序 struct 的全局模块和最佳实践

在一个变量上运行的 Node JS 中使用正则表达式的 Mongo 查询

mongoose通过引用属性查找文档

使用 Node.js 和 mongodb 处理超时

具有多个字段的mongodb文本搜索

Mongoose:填充填充字段

Mongoose 的保存回调是如何工作的?

如何在 mongoDB 中聚合巨大的数组?

错误:Could not connect to any servers in your MongoDB Atlas cluster

移动 MongoDB 的数据文件夹?

Mongodb错误:The positional operator did not find the match needed from the query

如何通过mongoose更新 mongodb 中的对象?

使用 C# 聚合 $lookup