语法:
db.COLLECTION_NAME.aggregate({ $match:{x:1}, {limit:NUM}, $group:{_id:$age} })
这些参数都可选
- $match:查询,跟 find 一样;
- $limit:限制显示结果数量;
- $skip:忽略结果数量;
- $sort:排序;
- $group:按照给定表达式组合结果。
范例:
db.test.aggregate([{$group:{_id:"$name", user:{$sum:"$user_id"}}}])
$name 意为取得 name 的值
3.3.1 聚合表达式
名称 | 描述 |
---|---|
$sum | 计算总和 |
$avg | 计算平均值 |
$min和$max | 计算最小和最大值 |
$push | 在结果文档中插入值到一个数组 |
$addToSet | 在结果文档中插入值到一个数组,但不创建副本 |
$first | 根据资源文档的排序获取第一个文档数据 |
$last | 根据资源文档的排序获取最后一个文档数据 |