中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

MongoDB中怎么實現管道操作符

MongoDB中怎么實現管道操作符,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

在未央等地區,都構建了全面的區域性戰略布局,加強發展的系統性、市場前瞻性、產品創新能力,以專注、極致的服務理念,為客戶提供成都網站制作、網站建設 網站設計制作按需定制開發,公司網站建設,企業網站建設,品牌網站制作,營銷型網站,外貿網站制作,未央網站建設費用合理。

$group

基本操作

$group可以用來對文檔進行分組,比如我想將訂單按照城市進行分組,并統計出每個城市的訂單數量:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",count:{$sum:1}}})

我們將要分組的字段傳遞給$group函數的_id字段,然后每當查到一個,就給count加1,這樣就可以統計出每個城市的訂單數量。

算術操作符

通過算術操作符我們可以對分組后的文檔進行求和或者求平均數。比如我想計算每個城市訂單運費總和,如下:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",totalFreight:{$sum:"$freight"}}})

先按地址分組,再求和。這里貼出部分查詢結果,如下:

{
    "_id" : "HaiKou",
    "totalFreight" : 20.0
}
{
    "_id" : "HangZhou",
    "totalFreight" : 10.0
}

也可以計算每個城市運費的平均數,如下:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",avgFreight:{$avg:"$freight"}}})

先按地址分組,然后再計算平均數。

極值操作符

極值操作符用來獲取分組后數據集的邊緣值,比如獲取每個城市最貴的運費,如下:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",maxFreight:{$max:"$freight"}}})

查詢每個城市最便宜的運費:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",minFreight:{$min:"$freight"}}})

按城市分組之后,獲取該城市第一個運費單:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",firstFreight:{$first:"$freight"}}})

獲取分組后的最后一個運費單:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",lastFreight:{$last:"$freight"}}})

數據操作符

$addToSet可以將分組后的某一個字段放到一個數組中,但是重復的元素將只出現一次,而且元素加入到數組中的順序是無規律的,比如將分組后的每個城市的運費放到一個數組中,如下:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",freights:{$addToSet:"$freight"}}})

重復的freight將不會被添加進來。

$push則對重復的數據不做限制,都可以添加進來,如下:

db.sang_collect.aggregate({$group:{_id:"$orderAddressL",freights:{$push:"$freight"}}})

$unwind

$unwind用來實現對文檔的拆分,可以將文檔中的值拆分為單獨的文檔,比如我的數據如下:

{
    "_id" : ObjectId("59f93c8b8523cfae4cf4ba86"),
    "name" : "魯迅",
    "books" : [ 
        {
            "name" : "吶喊",
            "publisher" : "花城出版社"
        }, 
        {
            "name" : "彷徨",
            "publisher" : "南海出版出"
        }
    ]
}

使用$unwind命令將其拆分為獨立文檔,如下:

db.sang_books.aggregate({$unwind:"$books"})

拆分結果如下:

{
    "_id" : ObjectId("59f93c8b8523cfae4cf4ba86"),
    "name" : "魯迅",
    "books" : {
        "name" : "吶喊",
        "publisher" : "花城出版社"
    }
}
{
    "_id" : ObjectId("59f93c8b8523cfae4cf4ba86"),
    "name" : "魯迅",
    "books" : {
        "name" : "彷徨",
        "publisher" : "南海出版出"
    }
}

其他操作符

$sort操作可以對文檔進行排序,如下:

db.sang_collect.aggregate({$sort:{orderAddressL:1}})

用法和我們之前介紹普通搜索中的一致,可以按照存在的字段排序,也可以按照重命名的字段排序,如下:

db.sang_collect.aggregate({$project:{oa:"$orderAddressL"}},{$sort:{oa:-1}})

1表示升序、-1表示降序。

$limit返回結果中的前n個文檔,如下表示返回結果中的前三個文檔:

db.sang_collect.aggregate({$project:{oa:"$orderAddressL"}},{$limit:3})

$skip表示跳過前n個文檔,比如跳過前5個文檔,如下:

db.sang_collect.aggregate({$project:{oa:"$orderAddressL"}},{$skip:5})

$skip的效率低,要慎用。

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。

本文標題:MongoDB中怎么實現管道操作符
文章地址:http://www.2m8n56k.cn/article38/jdsipp.html

成都網站建設公司_創新互聯,為您提供小程序開發電子商務手機網站建設面包屑導航全網營銷推廣網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

搜索引擎優化
主站蜘蛛池模板: 久久精品国产亚洲精品2020 | 免费午夜扒丝袜www在线看 | 国产主播第一页 | 成人免费网站视频www | 毛片手机在线 | 中文字幕在线看视频一区二区三区 | 免费人欧美成又黄又爽的视频 | 欧美成人免费午夜全 | 国产精品一久久香蕉国产线看 | 免费小视频在线观看 | 97夜夜操 | 国产真人毛片一级视频 | 亚洲精品成人a在线观看 | 亚州国产视频 | 亚洲国产精品自产拍在线播放 | 99精品久久精品一区二区 | 免费毛片视频网站 | 久久国产视频一区 | 在线观看国产精成人品 | 日p免费视频 | 在线观看国产亚洲 | a免费网站 | 欧美aaaaaaaaa| 国产日本欧美高清免费区 | 日韩字幕 | 欧美成人h精品网站 | 欧美曰批人成在线观看 | 精品久久成人 | 欧美日韩中文字幕在线视频 | 国产成人综合高清在线观看 | 国产视频二区 | 国产一区二区三区四区波多野结衣 | 久草欧美| 亚洲最新网站 | 国产v片成人影院在线观看 国产v片在线播放免费观 | 亚欧色视频在线观看免费 | 制服诱惑中文字幕 | 亚洲男人的天堂网 | 欧美日韩高清在线观看一区二区 | 成年人黄视频在线观看 | 黄在线网站 |