好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

mongodb 聚合查询

mongo shell 操作

aggregate

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

aggregate 操作的参数 match 相当于 mysql 的 where,传入的是筛选条件

示例:

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

示例:

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

与 mysql 对比示例

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

# mongo shell
db.collection.aggregate([{$group:{_id:‘name‘,count:{$sum: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}}}])
 
先分组查询后筛选结果
 # 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 聚合查询

标签:gre   示例   mysql   group by   mongo   star   agg   筛选条件   select   

查看更多关于mongodb 聚合查询的详细内容...

  阅读:23次