面试题答案
一键面试- 聚合管道代码:
db.sales.aggregate([
{
$group: {
_id: "$region",
totalSales: {
$sum: {
$multiply: ["$quantity", "$price"]
}
}
}
}
]);
- 聚合操作步骤及每个阶段作用:
- $group阶段:
- 作用:按
region
字段对文档进行分组。 - _id字段:指定分组依据,这里使用
region
字段,_id
的值为每个不同的区域。 - totalSales字段:使用
$sum
累加器函数计算每个区域内所有产品的销售总额。$sum
的参数是通过$multiply
操作符将quantity
和price
相乘得到的每个产品的销售额,然后$sum
将这些销售额累加起来,得到每个区域的销售总额。
- 作用:按
- $group阶段: