2016-08-12 72 views

回答

1

我認爲如果您使reduce函數構建一個所有映射值的數組,那麼應該給你你想要的。這可以這樣實現(未經測試,因爲我唯一的服務器非常繁忙):

var map = function(){ 
    // whatever you want to group your values 

    emit (key, value); 
} 


var reduce = function(mapKey, mapVal){ 
    redVal = { 
     "mapped_vals" : [] 
    }; 

    for(var idx=0; idx< mapVal.length; idx++){ 
     redVal.mapped_vals.push(mapVal); 
    }; 

    return redVal; 
} 


db.col.mapReduce(map, reduce, {out: "mrOut"}) 
+0

感謝@Azwok, –

+0

@Gaurav如果這個答案幫助你和你產生所需的輸出,請接受的答案。或者,如果它不起作用,請突出顯示什麼是錯誤的,我們可以尋找更好的答案或改進這一個。 – Azwok

+0

它工作,但它的內存不足,所以我使用查詢選項來減少數據集 –