MongoDB 分组求和排序 - 使用 $group 和 $sort
要在 MongoDB 中对文档进行分组,求和并按结果进行排序,可以使用以下语法:
db.collection.aggregate([
{
$group : {
_id : '$field_to_group_by',
total : { $sum : '$field_to_sum' }
}
},
{
$sort : { total : -1 }
}
])
在这里,'$group' 操作符将文档按指定字段进行分组,并使用'$sum' 操作符计算每个组中指定字段的总和。'$sort' 操作符按照计算出来的总和进行降序排序。
例如,假设有一个存储销售数据的集合'sales',其中每个文档都包含产品名称'product'、销售日期'date' 和销售额'amount'。要按产品名称分组,计算每个产品的总销售额,并按总销售额进行排序,可以使用以下代码:
db.sales.aggregate([
{
$group : {
_id : '$product',
total : { $sum : '$amount' }
}
},
{
$sort : { total : -1 }
}
])
此代码将返回一个包含每个产品的总销售额的文档列表,按总销售额从高到低排序。
原文地址: https://www.cveoy.top/t/topic/obGH 著作权归作者所有。请勿转载和采集!