MST

星途 面试题库

面试题:MongoDB累加器操作符之$sum的应用场景

请举例说明在哪些业务场景下会使用到MongoDB累加器操作符中的$sum,假设我们有一个销售订单集合,每个文档包含订单金额字段,如何使用$sum计算总销售额?
23.5万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试
  1. $sum使用的业务场景
    • 统计商品总销量:在电商业务中,每个商品销售记录文档包含销售数量字段,使用$sum可以统计出某类商品或所有商品的总销量。例如,统计某品牌手机在一段时间内不同店铺的销售总量。
    • 计算总收益:在金融投资业务场景下,每个投资收益记录文档包含收益金额字段,通过$sum操作符可以计算出总的投资收益。比如,计算一个投资组合在多个投资项目中的总收益。
  2. 在销售订单集合中计算总销售额: 假设销售订单集合名为orders,订单金额字段名为amount,可以使用如下聚合管道操作来计算总销售额:
db.orders.aggregate([
    {
        $group: {
            _id: null,
            totalSales: { $sum: "$amount" }
        }
    }
]);

在上述代码中,$group操作符按_id进行分组,这里_id: null表示将所有文档分到一组。$sum: "$amount"表示对每个文档中的amount字段进行累加,最终计算出总销售额并命名为totalSales