📜  $group mongodb 之后的条件 (1)

📅  最后修改于: 2023-12-03 15:13:02.091000             🧑  作者: Mango

MongoDB的$group操作符

MongoDB中的$group操作符是一个非常有用的聚合操作符,主要用于将文档按照指定的条件分组,并对分组结果进行聚合操作。$group操作符可以用于复杂的数据聚合和分析,支持多种不同的聚合操作,如计数、求和、平均值等。

语法

$group操作符的语法如下所示:

{ $group: { _id: <expression>, <field1>: { <accumulator1> : <expression1> }, ... } }

其中,$group是操作符,_id是分组关键字,可以是字段、表达式或某些指定值,用于将文档分组。field是聚合字段,可以包含多个聚合字段,每个聚合字段都需要指定一个聚合操作符,accumulator是聚合操作符,有多种不同的聚合操作,expression是基础表达式,用于指定运算、字段或常量。

示例

我们来看一个具体的例子:假设有一个商店数据集合中有许多文档,每个文档包含商品名称、销售数量和价格等信息,我们要统计每个商品的销售总量和平均价格。

db.shop.aggregate([
   { $group: {
      _id: "$product",
      salesTotal: { $sum: "$sales" },
      priceAvg: { $avg: "$price" }
   } }
])

上面的代码使用了$group操作符,对文档中的商品信息进行了分组,并对每组数据进行了聚合操作,最终得到了每个商品的销售总量和平均价格。其中,_id指定了分组关键字为商品名称,salesTotal指定了聚合操作为求和,priceAvg指定了聚合操作为求平均值。

聚合操作

$group操作符支持多种不同的聚合操作符,常用的几种聚合操作如下:

  • $sum:求和
  • $avg:求平均值
  • $max:求最大值
  • $min:求最小值
  • $first:取出分组中第一个文档的某个属性
  • $last:取出分组中最后一个文档的某个属性

这些聚合操作符可以用于各种复杂的数据聚合和统计,大大方便了开发者对数据的操作和分析。

综上所述,$group操作符是MongoDB中一个非常有用的聚合操作符,可用于对文档进行复杂的数据聚合和统计,支持多种不同的聚合操作,如求和、求平均值等。开发者可以根据实际需求使用$group操作符完成各种数据聚合和分析。