麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

MongoDB學(xué)習(xí)筆記之分組(group)使用示例

2020-03-14 13:20:09
字體:
供稿:網(wǎng)友

這篇文章主要介紹了MongoDB學(xué)習(xí)筆記之分組(group)使用示例,本文直接給出一組測(cè)試數(shù)據(jù),然后練習(xí)分組的基本使用,需要的朋友可以參考下

 

 
  1. // 準(zhǔn)備測(cè)試數(shù)據(jù) 
  2. db.user.drop(); 
  3. for(var i=10; i< 100; i++) { 
  4. db.user.insert({ 
  5. name:"user" + i,  
  6. age : Math.floor(Math.random()*10)+ 20,  
  7. sex : Math.floor(Math.random()*3)%2 ==0 ? 'M' : 'F'
  8. chinese : Math.floor(Math.random()*50)+50, 
  9. math : Math.floor(Math.random()*50)+50, 
  10. english : Math.floor(Math.random()*50)+50, 
  11. class : "C" + i%5 
  12. }) 
  13.  
  14. // group函數(shù) 
  15. // 按照class進(jìn)行分組,顯示每個(gè)class中的用戶姓名和性別 
  16. db.user.group({ 
  17. key: {"class"true}, 
  18. initial: {"person": []}, 
  19. reduce: function(cur, prev) { 
  20. prev.person.push({name: cur.name, sex: cur.sex, age: cur.age}); 
  21. }); 
  22.  
  23. // 對(duì)age>25的用戶,按照class進(jìn)行分組,顯示每個(gè)class中的用戶姓名和性別,并統(tǒng)計(jì)每組的人數(shù) 
  24. db.user.group({ 
  25. key: {"class"true}, 
  26. initial: {"person": []}, 
  27. reduce: function(doc, out){ 
  28. out.person.push({name: doc.name, sex: doc.sex, age: doc.age}); 
  29. }, 
  30. finalize: function(out){ 
  31. out.count = out.person.length; 
  32. }, 
  33. condition: {"age": {$gt: 25}} 
  34. }) 
  35.  
  36. // 分組計(jì)算每個(gè)class中,chinese最大值和最小值 
  37. db.user.group({ 
  38. key: {"class"true}, 
  39. initial: {"chinese_min": 0, "chinese_max":0 }, 
  40. reduce: function(doc, out){ 
  41. out.chinese_min = doc.chinese; 
  42. out.chinese_min = doc.chinese; 
  43.  
  44. out.chinese_min = Math.min(out.chinese_min, doc.chinese); 
  45. out.chinese_max = Math.max(out.chinese_max, doc.chinese) 
  46. }, 
  47. }) 
  48.  
  49. // 利用分組,計(jì)算每個(gè)總成績(jī)和成績(jī)平均值 
  50. db.user.group({ 
  51. key: {"_id" : true}, 
  52. initial: {name:"", total: 0, avg: 0}, 
  53. reduce: function(doc, out){ 
  54. out.name = doc.name; 
  55. out.total = doc.chinese + doc.math + doc.english; 
  56. out.avg = Math.floor(out.total / 3); 
  57. }) 

group參數(shù)選項(xiàng):

1.key: 這個(gè)就是分組的key

2.initial: 每組都分享一個(gè)初始化函數(shù),特別注意:是每一組initial函數(shù)。

3.reduce: 這個(gè)函數(shù)的第一個(gè)參數(shù)是當(dāng)前的文檔對(duì)象,第二個(gè)參數(shù)是上一次function操作的累計(jì)對(duì)象。有多少個(gè)文檔, $reduce就會(huì)調(diào)用多少次。

4.condition: 這個(gè)就是過濾條件。

5.finalize: 這是個(gè)函數(shù),每一組文檔執(zhí)行完后,多會(huì)觸發(fā)此方法。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 91精品视频在线看 | 亚州成人在线观看 | 国产精品久久久久久久亚洲按摩 | 精品一区二区三区在线视频 | 黄色特级一级片 | 精品乱码久久久久 | 天天草夜夜骑 | 国产九色91 | 免费一级a毛片免费观看 | 欧美成人国产va精品日本一级 | 国产精品视频一区二区三区四区五区 | av91肉丝一区二区电影 | 黄色片视频在线观看 | 激情福利视频 | 欧美videofree性欧美另类 | 亚洲第一男人天堂 | 高潮激情aaaaa免费看 | 欧美日韩在线免费观看 | 亚洲成在人| 精品中文字幕视频 | 宅男视频在线观看免费 | 一道本不卡一区 | 国产精品视频亚洲 | 伊人久久电影网 | 午夜精品网站 | 欧美特黄一级高清免费的香蕉 | 欧美国产日韩在线观看成人 | 久久久久久91 | 黄色一级片在线观看 | 日韩精品中文字幕一区二区 | 1级黄色毛片 | 亚洲天堂在线电影 | 成人羞羞视频在线观看免费 | 国产午夜免费不卡精品理论片 | 亚洲网站在线观看视频 | 国产精品刺激对白麻豆99 | 日韩精品中文字幕一区 | 欧美特黄a | 亚洲成人欧美在线 | 国产精品视频一区二区三区四区五区 | 污黄视频在线观看 |