亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MongoDB > 正文

mongodb聚合_動力節點Java學院整理

2020-03-14 12:52:58
字體:
來源:轉載
供稿:網友

今天跟大家分享一下mongodb中比較好玩的知識,主要包括:聚合,游標。

一:聚合

常見的聚合操作跟sql server一樣,有:count,distinct,group,mapReduce。

<1> count

count是最簡單,最容易,也是最常用的聚合工具,它的使用跟我們C#里面的count使用簡直一模一樣。

mongodb,聚合

<2> distinct

這個操作相信大家也是非常熟悉的,指定了誰,誰就不能重復,直接上圖。

mongodb,聚合

<3> group

在mongodb里面做group操作有點小復雜,不過大家對sql server里面的group比較熟悉的話還是一眼

能看的明白的,其實group操作本質上形成了一種“k-v”模型,就像C#中的Dictionary,好,有了這種思維,

我們來看看如何使用group。

下面舉的例子就是按照age進行group操作,value為對應age的姓名。下面對這些參數介紹一下:

key: 這個就是分組的key,我們這里是對年齡分組。

initial: 每組都分享一個”初始化函數“,特別注意:是每一組,比如這個的age=20的value的list分享一個

initial函數,age=22同樣也分享一個initial函數。

$reduce: 這個函數的第一個參數是當前的文檔對象,第二個參數是上一次function操作的累計對象,第一次

為initial中的{”perosn“:[]}。有多少個文檔, $reduce就會調用多少次。

mongodb,聚合

看到上面的結果,是不是有點感覺,我們通過age查看到了相應的name人員,不過有時我們可能有如下的要求:

①:想過濾掉age>25一些人員。

②:有時person數組里面的人員太多,我想加上一個count屬性標明一下。

針對上面的需求,在group里面還是很好辦到的,因為group有這么兩個可選參數: condition 和 finalize。

condition: 這個就是過濾條件。

finalize:這是個函數,每一組文檔執行完后,多會觸發此方法,那么在每組集合里面加上count也就是它的活了。

mongodb,聚合

<4> mapReduce

這玩意算是聚合函數中最復雜的了,不過復雜也好,越復雜就越靈活。

mapReduce其實是一種編程模型,用在分布式計算中,其中有一個“map”函數,一個”reduce“函數。

① map:

這個稱為映射函數,里面會調用emit(key,value),集合會按照你指定的key進行映射分組。

② reduce:

這個稱為簡化函數,會對map分組后的數據進行分組簡化,注意:在reduce(key,value)中的key就是

emit中的key,vlaue為emit分組后的emit(value)的集合,這里也就是很多{"count":1}的數組。

③ mapReduce:

這個就是最后執行的函數了,參數為map,reduce和一些可選參數。具體看圖可知:

mongodb,聚合

從圖中我們可以看到如下信息:

result: "存放的集合名“;

input:傳入文檔的個數。

emit:此函數被調用的次數。

reduce:此函數被調用的次數。

output:最后返回文檔的個數。

最后我們看一下“collecton”集合里面按姓名分組的情況。

mongodb,聚合

二:游標

mongodb里面的游標有點類似我們說的C#里面延遲執行,比如:

var list=db.person.find();

針對這樣的操作,list其實并沒有獲取到person中的文檔,而是申明一個“查詢結構”,等我們需要的時候通過

for或者next()一次性加載過來,然后讓游標逐行讀取,當我們枚舉完了之后,游標銷毀,之后我們在通過list獲取時,

發現沒有數據返回了。

mongodb,聚合

當然我們的“查詢構造”還可以搞的復雜點,比如分頁,排序都可以加進去。

var single=db.person.find().sort({"name",1}).skip(2).limit(2);

那么這樣的“查詢構造”可以在我們需要執行的時候執行,大大提高了不必要的花銷。

mongodb,聚合

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到MongoDB頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品xxx| 精品国内产的精品视频在线观看| 久久综合88中文色鬼| 成人福利网站在线观看11| 欧美激情视频播放| 久久在线免费视频| 国产主播欧美精品| 精品久久久久久中文字幕| 亚洲系列中文字幕| 欧美大尺度在线观看| 久久精品久久久久电影| 久久久精品在线观看| 欧美色道久久88综合亚洲精品| 国产精品久久久久久久电影| 麻豆国产精品va在线观看不卡| 91精品免费久久久久久久久| 国产精品丝袜一区二区三区| 亚洲xxxx妇黄裸体| 成人性生交大片免费看视频直播| 久久国产精品偷| 精品亚洲va在线va天堂资源站| 在线播放国产一区中文字幕剧情欧美| 91精品视频网站| 久久精品电影网站| 国产高清视频一区三区| 国产精品视频一区二区三区四| 国产成人啪精品视频免费网| 一区二区亚洲欧洲国产日韩| 日韩免费观看高清| 色综合久久88| 国产精品美女呻吟| 久久色精品视频| 一本色道久久88综合日韩精品| 亚洲精品理论电影| 91国在线精品国内播放| 一个人看的www欧美| 成人精品一区二区三区电影免费| 色综合久久悠悠| 91亚洲国产精品| 久久在线视频在线| 成人性教育视频在线观看| 红桃视频成人在线观看| 538国产精品一区二区免费视频| 国产成人欧美在线观看| 日韩av手机在线看| 国产成人精品免高潮费视频| 欧美一区二粉嫩精品国产一线天| 国产精品福利片| 欧美在线一区二区三区四| 欧美精品精品精品精品免费| 亚洲电影免费观看高清完整版在线| 曰本色欧美视频在线| www.欧美视频| 国产成人精品久久亚洲高清不卡| 日韩精品中文字幕有码专区| 国产91精品久久久| 久久久免费在线观看| 欧美成人精品在线播放| 欧美日韩亚洲91| 成人啪啪免费看| 亚洲黄在线观看| 欧美激情一级欧美精品| 成人黄色生活片| 久久精品久久久久| 国产成人福利网站| 91久久久在线| 91麻豆国产精品| 俺也去精品视频在线观看| 97在线观看视频国产| 中文字幕亚洲无线码a| 久久久久久伊人| 亚洲一区二区自拍| 久久青草福利网站| 欧美黄色小视频| 国产区亚洲区欧美区| 欧美自拍视频在线观看| 97国产在线观看| 日韩三级影视基地| 成人h片在线播放免费网站| 久久天天躁狠狠躁夜夜躁| 性夜试看影院91社区| 欧美性猛交xxxx富婆弯腰| 日韩欧美在线中文字幕| 成人国产精品免费视频| 亚洲欧美制服第一页| 深夜福利亚洲导航| 国产不卡一区二区在线播放| 国产欧美久久一区二区| 久久精品91久久久久久再现| 8090理伦午夜在线电影| 国产欧美久久久久久| 亚洲一级片在线看| 欧美天堂在线观看| 日韩中文字幕av| 欧美一级视频免费在线观看| 欧美另类xxx| 亚洲最大的成人网| 欧美专区在线视频| 欧美亚洲激情在线| 国产精品网址在线| 美女性感视频久久久| 一区二区三区视频免费在线观看| 日韩大胆人体377p| 日韩av电影手机在线观看| 69国产精品成人在线播放| 欧美国产中文字幕| 欧美视频免费在线| 全亚洲最色的网站在线观看| 亚洲精品白浆高清久久久久久| 欧美日韩国产一区在线| 91九色国产在线| 欧美一级大片视频| 欧美肥臀大乳一区二区免费视频| 亚洲影视中文字幕| 91青草视频久久| 黄网站色欧美视频| 欧美日本精品在线| 亚洲欧美综合精品久久成人| 国产精品久久久久久五月尺| 国产精品91免费在线| 午夜精品蜜臀一区二区三区免费| 国产精品久久综合av爱欲tv| 国产69久久精品成人| 91精品国产精品| 热久久这里只有精品| 神马久久桃色视频| 国产一区二区三区在线免费观看| 亚洲国产精品va在线看黑人动漫| 国产综合在线看| 日韩免费中文字幕| 国产欧美一区二区三区久久| 国产精品久久久久99| 日韩欧美成人区| 亚洲国产成人精品久久久国产成人一区| 全色精品综合影院| 亚洲成成品网站| 欧美日韩亚洲天堂| 久久网福利资源网站| 高清欧美性猛交xxxx黑人猛交| 日韩欧美a级成人黄色| 国产成人久久久精品一区| 日韩在线不卡视频| 97视频在线观看免费| 欧美亚州一区二区三区| 欧美激情在线有限公司| 668精品在线视频| 久久成年人视频| 亚洲一区美女视频在线观看免费| 97精品久久久中文字幕免费| 国产精品第一页在线| 欧美精品手机在线| 国产欧美精品一区二区三区-老狼| 成人淫片在线看| 欧美日韩国产中文精品字幕自在自线| 亚洲第一男人av| 日韩av片电影专区| 中文字幕亚洲欧美在线| 好吊成人免视频| 免费av在线一区| 欧美日产国产成人免费图片| 97热在线精品视频在线观看| 在线电影欧美日韩一区二区私密| 亚洲国产欧美日韩精品| 久久这里有精品|