zoukankan      html  css  js  c++  java
  • MongoDB 聚合管道(aggregate)

    1、aggregate() 方法

    我们先插入一些测试数据

    { 
        "_id" : ObjectId("5abc960c684781cda6d38027"), 
        "name" : "郭大爷", 
        "sex" : "男", 
        "age" : 80.0, 
        "skil" : [
            "PHP", 
            "Js", 
            "MySql", 
            "Html", 
            "Css"
        ]
    }
    { 
        "_id" : ObjectId("5abc960c684781cda6d38028"), 
        "name" : "郭大爷", 
        "sex" : "男", 
        "age" : 60.0, 
        "skil" : [
            "PHP", 
            "MySql"
        ]
    }
    { 
        "_id" : ObjectId("5abc960c684781cda6d38029"), 
        "sex" : "女", 
        "age" : 15.0, 
        "name" : "郭女侠"
    }
    { 
        "_id" : ObjectId("5abc960c684781cda6d3802a"), 
        "name" : "郭少爷", 
        "sex" : "男", 
        "age" : 18.0, 
        "skil" : [
            "Css", 
            "Java", 
            "Html"
        ]
    }
    • 求和 

    查询一下所有人年龄的总和

    db.userinfo.aggregate([
        { $group : {
            _id : null,
            age_sum : { $sum : "$age" }
        }}
    ])

    结果

    { 
        "_id" : null, 
        "age_sum" : 173.0
    }
    • 平均值

    求所有人年龄的平均值

    db.userinfo.aggregate([
        {
            $group:{
                _id: null,
                age_avg: { $avg: "$age" }
            }
        }
    ]);

    结果

    { 
        "_id" : null, 
        "age_avg" : 43.25
    }
    • 最小值

    db.userinfo.aggregate([
        {
            $group: {
                _id: null,
                age_min: { $min: "$age" }
            }
        }
    ]);

    结果

    { 
        "_id" : null, 
        "age_min" : 18.0
    }
  • 相关阅读:
    Spring boot 梳理
    Spring boot 梳理
    Spring boot 梳理
    观察者模式
    设计模式原则
    Spring MVC上传文件
    Spring MVC视图解析器
    Spring MVC中Action使用总结
    Spring MVC控制器
    Java并发 两个线程交替执行和死锁
  • 原文地址:https://www.cnblogs.com/handsCool/p/8669811.html
Copyright © 2011-2022 走看看