Skip to main content

👐 $group

我们可以计算每年所有书籍的总页数:

db.books.aggregate([
{$group:{
_id: "$year",
totalPages: {$sum: "$pages"}
}}
])

在这里,我们按书籍的year进行分组(分组并作为新的_id),然后创建一个名为totalPages的新字段,这个字段是所有页数的总和。

👐 你能获取按年份升序排序的结果吗?

答案
db.books.aggregate([
{$group:{
_id: "$year",
totalPages: {$sum: "$pages"}
}},
{$sort: {_id: 1}}
])

👐 你能获取每年的平均页数吗(提示:使用$avg)?

答案
db.books.aggregate([
{$group:{
_id: "$year",
totalPages: {$avg: "$pages"}
}},
{$sort: {_id: 1}}
])

👐 哪一年印刷了最多的页数?

答案
db.books.aggregate([
{$group:{
_id: "$year",
totalPages: {$sum: "$pages"}
}},
{$sort: {totalPages: -1}},
{$limit: 1}
])