从猫鼬聚合管道中的数组数组中获取单个数组

Get single array from array of array in mongoose aggregate pipeline

我有一个这样的集合(我从上一个管道条件中得到的):

[
{_id:"1","field":[{...obj1},{...obj2}]},
{_id:"2","field":[{...obj3},{...obj1}]},
{_id:"3","field":[{...obj4},{...obj5}]},
{_id:"4","field":[{...obj1},{...obj2}]},
]

我想在管道中添加更多条件以获得:

[{...obj1},{...obj2},{...obj3},{...obj4},{...obj5}]

顺序无关紧要,但我想要 field 中的所有对象。我是 mongo 和 mongoose 的新手,所以我不知道哪种聚合 属性 可以在这里工作。

请帮助我,我认为这是一个简单的任务,但由于缺乏知识我无法做到。

{ $unwind: "$field" },
{ $replaceRoot: { newRoot: "$field" } }

Playground


对于独特的对象,在 $unwind 阶段之后尝试 $group 阶段,

  {
    $group: {
      _id: "$field.name",
      field: { $first: "$field" }
    }
  },

Playground