这是我的问题:我想将一个MongoDB聚合管道转换为一个JS函数,并且这个聚合将其结果存入一个集合。
为此,我有两个解决方案:
在将聚合结果转换为如下数组后生成insertMany:
function myFunction(){
console.log("Start");
db.Collection1.insertMany(db.Collection2.aggregate([
{
$match: {...}
},
{
$project: {...}
},
{
$group: {...}
},
{
$addFields: {...}
}
]
).toArray());
console.log("End");
}
或者像这样在聚合中输入$:
function myFunction(){
console.log("Start");
db.Collection2.aggregate([
{
$match: {...}
},
{
$project: {...}
},
{
$group: {...}
},
{
$addFields: {...}
},
{
$out: {"collection1"}
}
]
);
console.log("End");
}
在这2个解决方案中,控制台显示2条消息,但在带有$ out的解决方案中,聚合未执行,我不知道原因。
如果有人有解决方案,我很感兴趣。
提前感谢您,并提前抱歉我的英语不是很好