首页 > 解决方案 > 如何在 mongodb 聚合中复制文档常量时间?

问题描述

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

这就是我的问题的简化版本的样子,

考虑这样的集合:

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

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

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

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

标签: mongodbduplicatesaggregatecombinations

解决方案


你可以试试这个:

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

推荐阅读