日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

mongodb 分组聚合_mongodb 聚合命令

發布時間:2025/3/15 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongodb 分组聚合_mongodb 聚合命令 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MongoDB中聚合主要用于處理數據,如統計平均值,求和等等,并返回計算后的數據結果。

1.?count

count函數返回指定集合中的數量。

> db. mediaCollection.count()

4

> db. mediaCollection.find( { Publisher : "Apress", Type: "Book" } ).count()

1

1

2

3

4

>db.mediaCollection.count()

4

>db.mediaCollection.find({Publisher:"Apress",Type:"Book"}).count()

1

2. distinct

distinct函數用來除重,找出所有不同的值。

> db. mediaCollection.distinct( "Title")

[ "Definitive Guide to MongoDB, the", "Nevermind" ]

> db. mediaCollection.distinct ("Tracklist.Title")

[ "In Bloom", "Smells like teen spirit" ]

1

2

3

4

>db.mediaCollection.distinct("Title")

["Definitive Guide to MongoDB, the","Nevermind"]

>db.mediaCollection.distinct("Tracklist.Title")

["In Bloom","Smells like teen spirit"]

3. group

group函數是類似于SQL的GROUP BY功能,雖然語法稍有不同。該命令的目的是返回分組的項目的數組。該函數有三個參數:?key, initial, ?reduce。

key參數指定要以什么來分組,如以標題進行分組。

initial參數每個分組reduce調用的初始值。

reduce參數同類元素放在一起,需要兩個參數:當前被遍歷的文檔和聚集計數器對象。

> db. mediaCollection.group (

... {

... key: {Title : true},

... initial: {Total : 0},

... reduce : function (items,prev)

... {

... prev.Total += 1

... }

... }

... )

[

{

"Title" : "Definitive Guide to MongoDB, the",

"Total" : 1

},

{

"Title" : "Nevermind",

"Total" : 2

},

{

"Title" : null,

"Total" : 1

}

]

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

>db.mediaCollection.group(

...{

...key:{Title:true},

...initial:{Total:0},

...reduce:function(items,prev)

...{

...prev.Total+=1

...}

...}

...)

[

{

"Title":"Definitive Guide to MongoDB, the",

"Total":1

},

{

"Title":"Nevermind",

"Total":2

},

{

"Title":null,

"Total":1

}

]

除了key, initial, ?reduce參數,還可以指定三個可選參數:keyf,cond,finalize。

group函數目前不能在分片環境下使用,可以使用MapReduce函數來代替。

總結

以上是生活随笔為你收集整理的mongodb 分组聚合_mongodb 聚合命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。