在mongodb mapreduce的reduce函数中,参数values是一个数组,可以用values.forEach进行遍历。
function(key, values){
//values 是一个数组
values.forEach(function(val){
//val即为数组里的元素
});
}
但是values比较大时,values会被会被拆分存储,在原本Reduce函数中的forEach只遍历了第一层的数据,无法遍历所有的元素。那请问如何遍历values里的所有元素?
Il existe également une portée de paramètre dans mapreduce, qui peut placer les variables utilisées dans la fonction js. Vous pouvez y stocker temporairement les données de valeur, afin que les données puissent être obtenues via une seule fonction de réduction. Cependant, étant donné que les valeurs sont divisées, cela signifie que la quantité de données dans les valeurs est importante. Si vous combinez simplement de force toutes les valeurs, ce n'est pas une bonne idée et la mémoire sera limitée. Il est préférable d'optimiser la fonction cartographique et de réduire la quantité de données de valeurs.