Mongodb常用的聚合语句和sql语句的对比:
- $match相当于where
- $group 相当于 group by
- $match 相当于having
- $project 相当于 select
- $sort 相当于 order by
- $limit 相当于 limit
- $sum 相当于 sum()
- $count() 相当于 count()
- Join 相当于 $lookup
- group之前的match,是对源数据进行查询,group之后的match是对group之后的数据进行筛选
- $in:查询多个数据,就是某个字段元素在一个列表中
- $nin: 查询多个数据,就是某个字段元素不在一个列表中
- $ne:不相等
- $gt/$gte:大于/大于等于
- $lt/$lte:小于/小于等于
- $set:添加一个新的字段,或者更新一个字段
mongodb聚合查询,事例:
db.table.aggregate([{$match:{“status”:1}},
{$group:{_id:”$cust_id”,total:{$sum:”$price”}}}])
解析:sql: select cust_id,sum(price) as total from table where status=1 group by cust_id