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
    }
  • 相关阅读:
    THUSC2018退役预定
    TAT
    dsu on tree(CF600E Lomsat gelral)
    Bzoj4784: [Zjoi2017]仙人掌
    [APIO2018] Duathlon 铁人两项
    仙人掌基础
    Bzoj3672: [Noi2014]购票
    CF809E Surprise me!
    虚树(Bzoj3611: [Heoi2014]大工程)
    Bzoj3197: [Sdoi2013]assassin
  • 原文地址:https://www.cnblogs.com/handsCool/p/8669811.html
Copyright © 2011-2022 走看看