国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MongoDB > 正文

MongoDB 管道的介紹及操作符實例

2020-10-29 18:45:49
字體:
供稿:網(wǎng)友

MongoDB 管道的介紹及操作符實例

一 介紹

管道在Unix和Linux中一般用于將當(dāng)前命令的輸出結(jié)果作為下一個命令的參數(shù)。
MongoDB的聚合管道將MongoDB文檔在一個管道處理完畢后將結(jié)果傳遞給下一個管道處理。管道操作是可以重復(fù)的。

表達式:處理輸入文檔并輸出。表達式是無狀態(tài)的,只能用于計算當(dāng)前聚合管道的文檔,不能處理其它的文檔。

這里我們介紹一下聚合框架中常用的幾個操作:

  1. $project:修改輸入文檔的結(jié)構(gòu)。可以用來重命名、增加或刪除域,也可以用于創(chuàng)建計算結(jié)果以及嵌套文檔。
  2. $match:用于過濾數(shù)據(jù),只輸出符合條件的文檔。$match使用MongoDB的標準查詢操作。
  3. $limit:用來限制MongoDB聚合管道返回的文檔數(shù)。
  4. $skip:在聚合管道中跳過指定數(shù)量的文檔,并返回余下的文檔。
  5. $unwind:將文檔中的某一個數(shù)組類型字段拆分成多條,每條包含數(shù)組中的一個值。
  6. $group:將集合中的文檔分組,可用于統(tǒng)計結(jié)果。
  7. $sort:將輸入文檔排序后輸出。
  8. $geoNear:輸出接近某一地理位置的有序文檔。 

二 管道操作符實例

1、$project實例

db.article.aggregate(  { $project : {    title : 1 ,    author : 1 ,  }} );

這樣的話結(jié)果中就只還有_id,tilte和author三個字段了,默認情況下_id字段是被包含的,如果要想不包含_id話可以這樣:

db.article.aggregate(  { $project : {    _id : 0 ,    title : 1 ,    author : 1  }});

2.$match實例

db.articles.aggregate( [            { $match : { score : { $gt : 70, $lte : 90 } } },            { $group: { _id: null, count: { $sum: 1 } } }            ] );

$match用于獲取分數(shù)大于70小于或等于90記錄,然后將符合條件的記錄送到下一階段$group管道操作符進行處理。

3.$skip實例

db.article.aggregate(  { $skip : 5 });

經(jīng)過$skip管道操作符處理后,前五個文檔被"過濾"掉。

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 会理县| 西昌市| 图木舒克市| 墨脱县| 新疆| 阳江市| 岫岩| 澜沧| 蓬莱市| 左贡县| 措美县| 合川市| 巴彦县| 新巴尔虎右旗| 九寨沟县| 贵德县| 虞城县| 磐安县| 嵩明县| 定边县| 罗定市| 东乡族自治县| 泾源县| 石台县| 牟定县| 天祝| 红原县| 华亭县| 富川| 金秀| 鹤山市| 灵川县| 曲周县| 七台河市| 宝清县| 华池县| 和田县| 冀州市| 襄城县| 柘城县| 都兰县|