如何在 mongodb 聚合中复制文档常数次?

How to duplicate a document constant times in mongodb aggregation?

我正在寻找一种方法来复制记录,同时向每条记录添加额外的 属性。

这是我的问题的简化版本,

考虑像这样的集合:

[
 { name: "john" },
 { name: "doe" }
]

成像我有一个项目数组:['cake','orange'],我期待如下所示的输出。

[
 { name: "john", item: "cake" },
 { name: "doe", item: "cake" },
 { name: "john", item: "orange" },
 { name: "doe", item: "orange"}
]

基本上每个物件都经过了重复,以满足items数组中的所有组合。此外,顺序很重要,每个项目都必须重复 转到下一个项目之前的对象。

你可以试试这个:

  Model.aggregate([
  {
    $project: {name: 1, item: ['cake', 'orange']},
  },
  {$unwind:"$item"}
]);