MongoDB 管道的介紹及操作符實(shí)例
MongoDB 管道的介紹及操作符實(shí)例
一 介紹
管道在Unix和Linux中一般用于將當(dāng)前命令的輸出結(jié)果作為下一個(gè)命令的參數(shù)。
MongoDB的聚合管道將MongoDB文檔在一個(gè)管道處理完畢后將結(jié)果傳遞給下一個(gè)管道處理。管道操作是可以重復(fù)的。
表達(dá)式:處理輸入文檔并輸出。表達(dá)式是無狀態(tài)的,只能用于計(jì)算當(dāng)前聚合管道的文檔,不能處理其它的文檔。
這里我們介紹一下聚合框架中常用的幾個(gè)操作:
- $project:修改輸入文檔的結(jié)構(gòu)??梢杂脕碇孛⒃黾踊騽h除域,也可以用于創(chuàng)建計(jì)算結(jié)果以及嵌套文檔。
- $match:用于過濾數(shù)據(jù),只輸出符合條件的文檔。$match使用MongoDB的標(biāo)準(zhǔn)查詢操作。
- $limit:用來限制MongoDB聚合管道返回的文檔數(shù)。
- $skip:在聚合管道中跳過指定數(shù)量的文檔,并返回余下的文檔。
- $unwind:將文檔中的某一個(gè)數(shù)組類型字段拆分成多條,每條包含數(shù)組中的一個(gè)值。
- $group:將集合中的文檔分組,可用于統(tǒng)計(jì)結(jié)果。
- $sort:將輸入文檔排序后輸出。
- $geoNear:輸出接近某一地理位置的有序文檔。
二 管道操作符實(shí)例
1、$project實(shí)例
db.article.aggregate( { $project : { title : 1 , author : 1 , }} );
這樣的話結(jié)果中就只還有_id,tilte和author三個(gè)字段了,默認(rèn)情況下_id字段是被包含的,如果要想不包含_id話可以這樣:
db.article.aggregate( { $project : { _id : 0 , title : 1 , author : 1 }});
2.$match實(shí)例
db.articles.aggregate( [ { $match : { score : { $gt : 70, $lte : 90 } } }, { $group: { _id: null, count: { $sum: 1 } } } ] );
$match用于獲取分?jǐn)?shù)大于70小于或等于90記錄,然后將符合條件的記錄送到下一階段$group管道操作符進(jìn)行處理。
3.$skip實(shí)例
db.article.aggregate( { $skip : 5 });
經(jīng)過$skip管道操作符處理后,前五個(gè)文檔被"過濾"掉。
如有疑問請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
mongodb數(shù)據(jù)庫入門之CURD簡單操作示例
這篇文章主要介紹了mongodb數(shù)據(jù)庫入門之CURD簡單操作,結(jié)合簡單示例形式分析了MongoDB數(shù)據(jù)庫基本的CURD增刪改查相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2019-10-10Ubuntu16.04手動(dòng)安裝MongoDB的詳細(xì)教程
本篇文章主要介紹了Ubuntu16.04手動(dòng)安裝MongoDB的詳細(xì)教程,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07一文帶你深入掌握MongoDB查詢分析的關(guān)鍵技巧
MongoDB 是一款靈活且可擴(kuò)展的NoSQL數(shù)據(jù)庫,為了提高其性能,我們可以采取一些優(yōu)化技巧,這篇文章主要給大家介紹了關(guān)于MongoDB查詢分析關(guān)鍵技巧的相關(guān)資料,需要的朋友可以參考下2024-06-06Mongodb實(shí)現(xiàn)的關(guān)聯(lián)表查詢功能【population方法】
這篇文章主要介紹了Mongodb實(shí)現(xiàn)的關(guān)聯(lián)表查詢功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了population方法實(shí)現(xiàn)關(guān)聯(lián)表查詢的原理與相關(guān)操作技巧,需要的朋友可以參考下2017-07-07關(guān)于單臺(tái)MongoDB實(shí)例開啟Oplog的過程詳解
這篇文章主要給大家介紹了關(guān)于單臺(tái)MongoDB實(shí)例開啟Oplog的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09mongodb禁止外網(wǎng)訪問及添加賬號(hào)的操作方法
這篇文章主要介紹了mongodb禁止外網(wǎng)訪問及添加賬號(hào)的操作方法,需要的朋友可以參考下2017-12-12MongoDB aggregate 運(yùn)用篇個(gè)人總結(jié)
最近一直在用mongodb,有時(shí)候會(huì)需要用到統(tǒng)計(jì),在網(wǎng)上查了一些資料,最適合用的就是用aggregate,以下介紹一下自己運(yùn)用的心得2016-11-11