求解mongodb mapreduce 遍歷values的問題。
ringa_lee
ringa_lee 2017-04-28 09:06:06
0
1
573

在mongodb mapreduce的reduce函數中,參數values是一個數組,可以用values.forEach進行遍歷。

function(key, values){
    //values 是一个数组
    values.forEach(function(val){
        //val即为数组里的元素
    });
}

但是values比較大時,values會被拆分存儲,在原本Reduce函數中的forEach只遍歷了第一層的數據,無法遍歷所有的元素。那請問如何遍歷values裡的所有元素?

ringa_lee
ringa_lee

ringa_lee

全部回覆(1)
伊谢尔伦

mapreduce 中還有一個參數 scope ,可以放置 js 函數中所用到的變量,你可以將 value 資料暫存到其中,這樣就能跨越單一 reduce 函數獲得資料了。不過既然是 values 被拆分了,就說明 values 內的資料量較大,如果只是強行把所有的 values 組合起來,並不是一個好的辦法,內存會吃緊。最好還是最佳化 map 函數,較少 values 資料量。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!