<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;">将集合中的文档分组,可用于统计结果</span>
操作
$sum
<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;">aggregate([{$group : {_id : "$<</span><span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;">group_by_key</span><span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;">>", <output_key> : {$sum : num}}}])</span>
select sum(group_by_key) * num as output_key from col group by group_by_key
$avg
<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;">aggregate([{$group : {_id : "$<group_by_key>", </span><span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><output_key></span><span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"> : {$avg : "$<avg_key>"}}}])</span>
select group_by_key, avg(avg_key) as output_key from col group by group_by_key
$min
<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;">aggregate([{$group : {_id : "$<group_by_key>", </span><span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><output_key></span><span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"> : {$min : "$<min_key>"}}}])</span>
select group_by_key, min(min_key) as output_key from col group by group_by_key
$max
db.mycol.aggregate({$group : {_id : "$<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><group_by_key></span>", <span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><output_key> </span>: { $max : "$age"}}})
select group_by_key, min(min_key) as output_key from col group by group_by_key
$push
aggregate([{$group : {_id : "$title_var", age : { $push : "$push_key"}}}])
将聚合输出的avg_key转化为数组
$addToSet
aggregate([{$group : {_id : "$<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><group_by_key></span>", <span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><output_key></span> : { $addToSet : "$age"}}}])
在结果文档中插入值到一个数组中,但不创建副本。
$first
aggregate([{$group : { _id : "$<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><group_by_key></span>", <span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><output_key></span> : {$first : "$name"}}}])
根据资源文档的排序获取第一个文档数据。
$last
aggregate([{$group : { _id : "$<span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><group_by_key></span>", <span style="color: rgb(51, 51, 51); font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, STHeiti, "Microsoft Yahei", sans-serif; font-size: 12px;"><output_key></span> : {$last: "$name"}}}])
根据资源文档的排序获取最后一个文档数据