我可能会误解某些东西,但是据我了解,您不能在mongodb聚合管道中使用函数。例如
我在分组阶段产生了许多嵌套数组(仅在此示例中,我无法展开每个数组,而不得不使用嵌套数组)
要弄平每个数组,我想减少它们,例如
flattenedArray: {$reduce: {
input: "$nestedArray",
initialValue: [ ],
in: { $concatArrays: [ "$$value", "$$this" ] }
}
}
但是我必须为每个嵌套数组(?)写出来,这似乎很冗长。有没有办法只有一个功能例如像
function flatten(nestedArray){
return {$reduce: {
input: nestedArray,
initialValue: [ ],
in: { $concatArrays: [ "$$value", "$$this" ] }
}
}
flattenedArrayOne : flatten(nestedArrayOne)
flattenedArrayTwo : flatten(nestedArrayTwo)
我只是想避免在我的管道中编写很多重复的代码并保持可读性 感谢您的任何评论