zoukankan      html  css  js  c++  java
  • node使用 mongoose聚合 group

    var mongoose = require('mongoose');
    mongoose.connect("mongodb://localhost:27017/test", function(err) {
        if(err){
            console.log('连接失败');
        }else{
            console.log('连接成功');
    
        }
    });
    
    var schema = new mongoose.Schema({ num:Number, name: String, size: String},{ timestamps: true });
    var MyModel = mongoose.model('MyModel', schema);
    
    
    
    var group = {
       key: {"name":true},
       cond: {},
       reduce: function(doc, out) {
          out.count++;
          out.total += doc.size;
       },
       initial: {
           total: 0,
           count: 0
       },
       finalize: function(out) {
           out.avg = out.total / out.count;
       }
    };
    
    
     //这里参数数量一定要保持一致,否则会报错
     MyModel.collection.group(
    	group.key, 
    	group.cond, 
    	group.initial, 
    	group.reduce, 
    	group.finalize, 
    	true, 
    	function(err, reslut) {
     		console.log("result====",reslut)
    	})
    

      使用aggregate

     MyModel.aggregate([
      	 {$match: {}},
        {$group: {_id: "$name", total: {$sum: "$num"}}}
      ]).exec(function(err,reslut){
         console.log(result)
      })
    

      

      

    {$group: {_id: "$age", name:{$first:"$name"}, personCount: {$sum: 1},ageTotal:{$sum:"$age"},avgAge:{$avg:"$age"}}}
    

      

    另外,mongodb 更新后

  • 相关阅读:
    leetcode 92. 反转链表 II
    leetcode记录1 快速排序
    Jmeter入门总结
    Jmeter 元件作用域、集合点、检查点
    Jmeter 实例
    badboy脚本开发
    Jmeter 常用功能介绍
    简单的自创线程池
    多线程
    IO多路复用
  • 原文地址:https://www.cnblogs.com/muamaker/p/9084410.html
Copyright © 2011-2022 走看看