最新文章專題視頻專題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

MongoDB的聚集操作

來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 15:00:26
文檔

MongoDB的聚集操作

MongoDB的聚集操作:聚合引言 聚集操作就是出來(lái)數(shù)據(jù)記錄并返回計(jì)算結(jié)果的操作。MongoDB提供了豐富的聚集操作,能夠檢測(cè)和執(zhí)行數(shù)據(jù)集上的計(jì)算。運(yùn)行在mongod上的數(shù)據(jù)聚集簡(jiǎn)化了代碼和資源限制。 像查詢一樣,在Mongo的聚合操作使用collections作為輸入,并返回一個(gè)或多個(gè)docu
推薦度:
導(dǎo)讀MongoDB的聚集操作:聚合引言 聚集操作就是出來(lái)數(shù)據(jù)記錄并返回計(jì)算結(jié)果的操作。MongoDB提供了豐富的聚集操作,能夠檢測(cè)和執(zhí)行數(shù)據(jù)集上的計(jì)算。運(yùn)行在mongod上的數(shù)據(jù)聚集簡(jiǎn)化了代碼和資源限制。 像查詢一樣,在Mongo的聚合操作使用collections作為輸入,并返回一個(gè)或多個(gè)docu

聚合引言 聚集操作就是出來(lái)數(shù)據(jù)記錄并返回計(jì)算結(jié)果的操作。MongoDB提供了豐富的聚集操作,能夠檢測(cè)和執(zhí)行數(shù)據(jù)集上的計(jì)算。運(yùn)行在mongod上的數(shù)據(jù)聚集簡(jiǎn)化了代碼和資源限制。 像查詢一樣,在Mongo的聚合操作使用collections作為輸入,并返回一個(gè)或多個(gè)document

聚合引言

聚集操作就是出來(lái)數(shù)據(jù)記錄并返回計(jì)算結(jié)果的操作。MongoDB提供了豐富的聚集操作,能夠檢測(cè)和執(zhí)行數(shù)據(jù)集上的計(jì)算。運(yùn)行在mongod上的數(shù)據(jù)聚集簡(jiǎn)化了代碼和資源限制。

像查詢一樣,在Mongo的聚合操作使用collections作為輸入,并返回一個(gè)或多個(gè)document作為輸出。

聚合模式

聚合管道

MongoDB2.2引入了一個(gè)新的聚合框架:聚合管道,這是基于數(shù)據(jù)處理管道概念的模型。文檔輸入一個(gè)多階段的管道并將文檔轉(zhuǎn)化為一個(gè)聚合的結(jié)果。

最基本的管道階段提供了過(guò)濾器(Filters)來(lái)像查詢一樣操作,和文檔轉(zhuǎn)化(Document transformations)來(lái)修改輸出文檔的形式。

其他的管道提供了對(duì)特定字段分組和排序的工具,也有聚合數(shù)組內(nèi)容的工具。并且,管道階段能對(duì)任務(wù)使用操作符,比如計(jì)算平均值或連接一個(gè)字符串。

管道使用MongoDB原生的操作提供了有效的數(shù)據(jù)聚合,也是MongoDB里面一個(gè)理想的數(shù)據(jù)聚合方法。

\

上面帶有注釋的聚合操作管道操作,這個(gè)聚合管道有兩個(gè)階段: $match和$group

Map-Reduce

MongoDB也提供了map-reduce操作來(lái)執(zhí)行聚合操作。一般的,map-reduce操作有兩個(gè)階段:Map階段來(lái)處理每個(gè)文檔并為每個(gè)輸入文檔輸出一個(gè)或多個(gè)文檔,Reduce階段整合map操作的輸出。Map-reduce有一個(gè)可選的finalize階段,來(lái)為結(jié)果做最終的修改。和其他聚合操作一樣,map-reduce指出了查詢條件來(lái)選擇輸入文檔并排序和限制結(jié)果。

Map-reduce使用自定義的javasript函數(shù)來(lái)執(zhí)行map和reduce操作,以及可選的finalize操作。雖然自定義的javasript相對(duì)聚合管道提供了更大的靈活性,但一般map-reduce相對(duì)低效和復(fù)雜。

并且,map-reduce操作的輸出集合比集合管道的輸出極限大16M。

注:

從MongoDB2.4開(kāi)始,特定的mongo shell函數(shù)和屬性不能被map-reduce操作使用。MongoDB2.4也提供了同時(shí)執(zhí)行多個(gè)Javascript操作的支持。在MongoDB2.4之前,javascript代碼只能在單線程執(zhí)行,這為map-reduce的并行帶來(lái)困難。

\

單一目的的聚合操作

對(duì)很多的常規(guī)單一目的的聚合操作(single purpose aggregation operation),MongoDB提供了特殊目的的數(shù)據(jù)庫(kù)命令。這些常規(guī)的聚合操作是:返回匹配文檔的數(shù)量,返回一個(gè)字段的唯一的值,和基于一個(gè)字段值的分組。所有這些操作都是來(lái)自一個(gè)collection。雖然這些操作提供了簡(jiǎn)單的常規(guī)聚合操作處理方法,但他們都缺乏靈活性和像聚合管道、Map-reduce那樣的能力。

\

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

MongoDB的聚集操作

MongoDB的聚集操作:聚合引言 聚集操作就是出來(lái)數(shù)據(jù)記錄并返回計(jì)算結(jié)果的操作。MongoDB提供了豐富的聚集操作,能夠檢測(cè)和執(zhí)行數(shù)據(jù)集上的計(jì)算。運(yùn)行在mongod上的數(shù)據(jù)聚集簡(jiǎn)化了代碼和資源限制。 像查詢一樣,在Mongo的聚合操作使用collections作為輸入,并返回一個(gè)或多個(gè)docu
推薦度:
標(biāo)簽: 操作 聚合 就是
  • 熱門(mén)焦點(diǎn)

最新推薦

猜你喜歡

熱門(mén)推薦

專題
Top