要在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/fkMP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录