map

英 [m?p]? ?美 [m?p]??

n.地圖,天體圖;類(lèi)似地圖的事物;〈美俚〉臉,面孔;(染色體上基因排列的)遺傳圖

vt.繪制(一地區(qū)等的)地圖;勘查;詳細(xì)規(guī)劃;[遺傳學(xué)]比對(duì)

reduce

英 [r??dju:s]? ?美 [r??du:s]??

vt.減少;縮小;使還原;使變?nèi)?/p>

vi.減少;節(jié)食;蒸發(fā);(液體)濃縮變稠

MongoDB Map Reduce函數(shù) 語(yǔ)法

作用:Map-Reduce是一種計(jì)算模型,簡(jiǎn)單的說(shuō)就是將大批量的工作(數(shù)據(jù))分解(MAP)執(zhí)行,然后再將結(jié)果合并成最終結(jié)果(REDUCE)。MongoDB提供的Map-Reduce非常靈活,對(duì)于大規(guī)模數(shù)據(jù)分析也相當(dāng)實(shí)用。

語(yǔ)法:>db.collection.mapReduce(?function()?{emit(key,value);},??//map?函數(shù)
function(key,values)?{return?reduceFunction},???//reduce?函數(shù){out:?collection,query:?document,sort:?document,limit:?number?})使用 MapReduce 要實(shí)現(xiàn)兩個(gè)函數(shù) Map 函數(shù)和 Reduce 函數(shù),Map 函數(shù)調(diào)用 emit(key, value), 遍歷 collection 中所有的記錄, 將key 與 value 傳遞給 Reduce 函數(shù)進(jìn)行處理。Map 函數(shù)必須調(diào)用 emit(key, value) 返回鍵值對(duì)。

參數(shù):map?:映射函數(shù) (生成鍵值對(duì)序列,作為 reduce 函數(shù)參數(shù))。reduce?統(tǒng)計(jì)函數(shù),reduce函數(shù)的任務(wù)就是將key-values變成key-value,也就是把values數(shù)組變成一個(gè)單一的值value。。out?統(tǒng)計(jì)結(jié)果存放集合 (不指定則使用臨時(shí)集合,在客戶(hù)端斷開(kāi)后自動(dòng)刪除)。query?一個(gè)篩選條件,只有滿(mǎn)足條件的文檔才會(huì)調(diào)用map函數(shù)。(query。limit,sort可以隨意組合)sort?和limit結(jié)合的sort排序參數(shù)(也是在發(fā)往map函數(shù)前給文檔排序),可以?xún)?yōu)化分組機(jī)制limit?發(fā)往map函數(shù)的文檔數(shù)量的上限(要是沒(méi)有l(wèi)imit,單獨(dú)使用sort的用處不大)

MongoDB Map Reduce函數(shù) 示例

rree