• 技术文章 >数据库 >MongoDB

    mongodb如何统计数据?

     Ly Ly2020-06-09 16:39:41原创7267

    用mongodb中的aggregate统计数据:

    应用一:统计name的数量和总数;

    db.collection.aggregate([
      {$group:{_id:"$name",count:{$sum:1},total:{$sum:"$num"}}
    ]);

    应用二:统计status=1的name的数量;

    db.collection.aggregate([
      {$match:{status:1}},
      {$group:{_id:"$name",count:{$sum:1}}}
    ]);

    应用三:统计name的数量,并且数量为小于2的;

    db.collection.aggregate([
      {$group:{_id:"$name",count:{$sum:1}},
      {$match:{count:{$lt:2}}}
    ]);

    应用四:统计stauts=1的name的数量,并且数量为1的;

    db.collection.aggregate([
      {$match:{status:1}},
      {$group:{_id:"$name",count:{$sum:1}}},
      {$match:{count:1}}
    ]);

    多列group,根据name和status进行多列

    db.collection.aggregate([
      {$group:{_id:{name:"$name",st:"$status"},count:{$sum:1}}}
    ]);
     
    $project该操作符很简单,
    db.collection.aggregate([
      {$project:{name:1,status:1}}
    ]);

    结果是,只有_id,name,status三个字段的表数据,相当于sql表达式 select _id,name,status from collection

    操作符介绍:

    $project:包含、排除、重命名和显示字段

    $match:查询,需要同find()一样的参数

    $limit:限制结果数量

    $skip:忽略结果的数量

    $sort:按照给定的字段排序结果

    $group:按照给定表达式组合结果

    $unwind:分割嵌入数组到自己顶层文件

    专题推荐:mongodb
    品易云
    上一篇:mongodb如何授权登录admin? 下一篇:mongodb如何做主从?

    相关文章推荐

    • mongodb如何存numpy数组• mongodb如何导入shapefile数据?• mongodb如何授权登录admin?

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网