Mongodb 聚合 $group、$sum 和 $sort

作者:编程家 分类: mongodb 时间:2025-11-07

MongoDB 聚合 $group、$sum 和 $sort 的用法及案例代码

MongoDB 是一个开源的文档型数据库,它提供了丰富的聚合操作来处理和分析数据。其中,$group、$sum 和 $sort 是常用的聚合操作符,用于对数据进行分组、求和和排序。本文将介绍这三个操作符的用法,并通过案例代码进行演示。

$group 操作符

$group 操作符用于按照指定的字段对数据进行分组。它的语法如下:

{

$group: {

_id: ,

: { : },

...

}

}

其中,_id 字段用于指定分组的字段, 字段用于指定聚合结果中的字段名, 用于指定聚合操作符, 用于指定聚合操作的表达式。

$sum 操作符

$sum 操作符用于对指定字段进行求和。它的语法如下:

{

$sum:

}

其中, 是要求和的字段或表达式。

$sort 操作符

$sort 操作符用于对数据进行排序。它的语法如下:

{

$sort: {

: ,

...

}

}

其中, 是要排序的字段, 是排序的方式,1 表示升序,-1 表示降序。

案例代码

假设我们有一个名为 "sales" 的集合,其中包含了每个销售员每天的销售数据。字段包括 "salesman"(销售员姓名)、"date"(销售日期)和 "amount"(销售额)。我们想要按照销售员分组,并计算每个销售员的总销售额,并按照销售额降序排列。

下面是使用 MongoDB 聚合操作符的案例代码:

db.sales.aggregate([

{

$group: {

_id: "$salesman",

totalSales: { $sum: "$amount" }

}

},

{

$sort: {

totalSales: -1

}

}

])

以上代码首先使用 $group 操作符按照 "salesman" 字段进行分组,并计算每个销售员的总销售额,结果保存在 "totalSales" 字段中。然后,使用 $sort 操作符按照 "totalSales" 字段进行降序排序。

通过使用 MongoDB 的聚合操作符 $group、$sum 和 $sort,我们可以方便地对数据进行分组、求和和排序。这些操作符提供了强大的数据处理能力,使我们能够更好地分析和理解数据。在实际应用中,我们可以根据具体需求,灵活运用这些操作符来满足数据处理的需求。