婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MongoDB學習筆記之分組(group)使用示例

MongoDB學習筆記之分組(group)使用示例

熱門標簽:智能電銷機器人銷售話術 福州電銷機器人源代碼 南京400電話怎樣辦理 企業智能外呼系統價格多少 兗州電話外呼營銷系統 機器人外呼系統軟件存在問題 徐州ai電銷機器人原理 高德地圖標注商戶位置 沈陽營銷電銷機器人招商
// 準備測試數據
db.user.drop();
for(var i=10; i 100; i++) {
  db.user.insert({
    name:"user" + i, 
    age : Math.floor(Math.random()*10)+ 20, 
    sex : Math.floor(Math.random()*3)%2 ==0 ? 'M' : 'F',
    chinese : Math.floor(Math.random()*50)+50,
    math : Math.floor(Math.random()*50)+50,
    english : Math.floor(Math.random()*50)+50,
    class : "C" + i%5
  })
}

// group函數
// 按照class進行分組,顯示每個class中的用戶姓名和性別
db.user.group({
  key: {"class": true},
  initial: {"person": []},
  reduce: function(cur, prev) {
    prev.person.push({name: cur.name, sex: cur.sex, age: cur.age});
  }
});

// 對age>25的用戶,按照class進行分組,顯示每個class中的用戶姓名和性別,并統計每組的人數
db.user.group({
  key: {"class": true},
  initial: {"person": []},
  reduce: function(doc, out){
    out.person.push({name: doc.name, sex: doc.sex, age: doc.age});
  },
  finalize: function(out){
    out.count = out.person.length;
  },
  condition: {"age": {$gt: 25}}
})

// 分組計算每個class中,chinese最大值和最小值
db.user.group({
  key: {"class": true},
  initial: {"chinese_min": 0, "chinese_max":0 },
  reduce: function(doc, out){
    out.chinese_min = doc.chinese;
    out.chinese_min = doc.chinese;

    out.chinese_min = Math.min(out.chinese_min, doc.chinese);
    out.chinese_max = Math.max(out.chinese_max, doc.chinese)
  },
})

// 利用分組,計算每個總成績和成績平均值
db.user.group({
  key: {"_id" : true},
  initial: {name:"", total: 0, avg: 0},
  reduce: function(doc, out){
    out.name = doc.name;
    out.total = doc.chinese + doc.math + doc.english;
    out.avg = Math.floor(out.total / 3);
  }
})

group參數選項:

1.key: 這個就是分組的key
2.initial: 每組都分享一個初始化函數,特別注意:是每一組initial函數。
3.reduce: 這個函數的第一個參數是當前的文檔對象,第二個參數是上一次function操作的累計對象。有多少個文檔, $reduce就會調用多少次。
4.condition: 這個就是過濾條件。
5.finalize: 這是個函數,每一組文檔執行完后,多會觸發此方法。

您可能感興趣的文章:
  • MongoDB 學習筆記(一)-MongoDB配置
  • MongoDB學習筆記(六) MongoDB索引用法和效率分析
  • MongoDB學習筆記(五) MongoDB文件存取操作
  • MongoDB學習筆記—Linux下搭建MongoDB環境
  • MongoDB學習筆記(一) MongoDB介紹與安裝方法
  • MongoDB學習筆記(三) 在MVC模式下通過Jqgrid表格操作MongoDB數據
  • MongoDB學習筆記(四) 用MongoDB的文檔結構描述數據關系
  • MongoDB學習筆記(二) 通過samus驅動實現基本數據操作
  • Windows下MongoDB的下載安裝、環境配置教程圖解
  • MongoDB的下載、安裝與部署方法
  • MongoDB系列教程(三):Windows中下載和安裝MongoDB
  • mongodb數據庫入門學習筆記之下載、安裝、啟動、連接操作解析

標簽:吉安 鶴崗 昭通 本溪 邯鄲 丹東 大理 景德鎮

巨人網絡通訊聲明:本文標題《MongoDB學習筆記之分組(group)使用示例》,本文關鍵詞  MongoDB,學習,筆記,之,分組,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MongoDB學習筆記之分組(group)使用示例》相關的同類信息!
  • 本頁收集關于MongoDB學習筆記之分組(group)使用示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宁都县| 英德市| 来安县| 广饶县| 镇平县| 陵川县| 通渭县| 巩留县| 曲水县| 南汇区| 井陉县| 子洲县| 原平市| 临澧县| 宁武县| 铜鼓县| 卓尼县| 乌兰县| 孟州市| 江口县| 玉田县| 凤冈县| 从化市| 桓台县| 天水市| 渭源县| 莱芜市| 丰城市| 尖扎县| 南陵县| 大丰市| 南涧| 成武县| 凤庆县| 光泽县| 梓潼县| 鹿邑县| 涿鹿县| 胶南市| 浦江县| 江山市|