首页 > 数据库技术 > 详细

mongodb 聚合查询

时间:2021-04-12 15:30:57      阅读:17      评论:0      收藏:0      [点我收藏+]

mongo shell 操作

aggregate

使用mongo db 的 aggregate 进行聚合操作,改操作传入的参数是一个数组

aggregate 操作的参数

  1. match 相当于 mysql 的 where,传入的是筛选条件

示例:

{$match : {
    ‘os‘: ‘win‘  
  }
}
  1. group 相当于 mysql 的 group by,传入的是要分组聚合的字段

示例:

{$group : {
   _id:"$name",
    count :{
     $sum:1
    }
  }
}

与 mysql 对比示例

  1. 分组查询count
# mysql
select name,count(*) from table group by name;

# mongo shell
db.collection.aggregate([{$group:{_id:‘name‘,count:{$sum:1}}}])
  1. 先筛选后分组查询
# mysql
select name,count(*) from table where os=‘win‘; group by name;

# mongo shell
db.collection.aggregate([{$match:{os:‘win‘}},{$group:{_id:‘name‘,count:{$sum:1}}}])
  1. 先分组查询后筛选结果
# mysql
select name,count(*) from table group by name where os=‘win‘ ;

# mongo shell
db.collection.aggregate([{$group:{_id:‘name‘,count:{$sum:1}}},{$match:{os:‘win‘}}])

pymongo 操作

待补充

mongodb 聚合查询

原文:https://www.cnblogs.com/Jaryer/p/14647606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!