MongoDB中有哪些聚合命令-創(chuàng)新互聯(lián)

這期內容當中小編將會給大家?guī)碛嘘PMongoDB中有哪些聚合命令,文章內容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站制作、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的雷州網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!

1.聚合管道法:

管道聚合方法可以理解為合計流水線法,就是把集合里若干含數(shù)值型的文檔記錄其鍵對應的值進行各種分類統(tǒng)計,有點類似于SQL語言里的group by。

語法如下:

db.collection.agrregate(

[$match:{<field>}},

                  {$group:{<field1>,<field2>}}

  ]

說明:

field1為分類字段;field2為含各種統(tǒng)計操作符的數(shù)值型字段,比如$sum, $avg, $min,$max等操作符

>use test

> db.test.insert(

... [{id:"001",amount:2,price:15.2,ok:true},

... {id:"001",amount:3,price:14.8,ok:true},

... {id:"002",amount:4,price:40,ok:true},

... {id:"002",amount:2,price:10,ok:true},

... {id:"003",amount:3,price:20.3,ok:true}

... ]

... )

BulkWriteResult({

        "writeErrors" : [ ],

        "writeConcernErrors" : [ ],

        "nInserted" : 5,

        "nUpserted" : 0,

        "nMatched" : 0,

        "nModified" : 0,

        "nRemoved" : 0,

        "upserted" : [ ]

})

> db.test.aggregate({ $match:{ok:true}})

{ "_id" : ObjectId("5b50388dff7043cec86841af"), "id" : "001", "amount" : 2, "price" : 15.2, "ok" : true }

{ "_id" : ObjectId("5b50388dff7043cec86841b0"), "id" : "001", "amount" : 3, "price" : 14.8, "ok" : true }

{ "_id" : ObjectId("5b50388dff7043cec86841b1"), "id" : "002", "amount" : 4, "price" : 40, "ok" : true }

{ "_id" : ObjectId("5b50388dff7043cec86841b2"), "id" : "002", "amount" : 2, "price" : 10, "ok" : true }

{ "_id" : ObjectId("5b50388dff7043cec86841b3"), "id" : "003", "amount" : 3, "price" : 20.3, "ok" : true }

> db.test.aggregate(

... {

...   $group:{

...       _id:'$id',

...       total:{$sum:"$amount"}

...       }

...   })

{ "_id" : "003", "total" : 6 }

{ "_id" : "002", "total" : 12 }

{ "_id" : "001", "total" : 10 }

說明:_id:'$id',id為分類字段名,total為統(tǒng)計結果字段名,$sum為求和操作符號 ,$amount為求和字段。

2.map-reduce法:

> var chenfeng=db.test.mapReduce(

... function(){

... emit(this.id,this.amount)

...        },

... function(key,values){

... return Array.sum(values)

... },

... {query:{ok:true},out:{replace:"result"}}

... )

> db[chenfeng.result].find()

{ "_id" : "001", "value" : 5 }

{ "_id" : "002", "value" : 6 }

{ "_id" : "003", "value" : 3 }

3.單一目標聚合法:

語法:

db.collection.count(query,options)

例如:

> db.test.distinct("id")

[ "001", "002", "003" ]

> db.test.find({ok:true}).count()

5

上述就是小編為大家分享的MongoDB中有哪些聚合命令了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道。

網(wǎng)頁標題:MongoDB中有哪些聚合命令-創(chuàng)新互聯(lián)
轉載來于:http://muchs.cn/article16/ddjjdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、云服務器虛擬主機、域名注冊、網(wǎng)站排名、用戶體驗

廣告

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

h5響應式網(wǎng)站建設