MongoDB:如何将聚合管道中的所有文档合并为单个文档

Uro*_*ooj 3 aggregation mongodb

我当前的聚合输出如下:

[
    {
        "courseCount": 14
    },
    {
        "registeredStudentsCount": 1
    }
]
Run Code Online (Sandbox Code Playgroud)

该数组有两个文档。我想将所有文档合并到一个包含 mongoDB 中所有字段的文档中

R2D*_*2D2 5

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

解释:

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

普拉亚地面