$multiply(乘法)

最后更新:2026-10-09

$multiply(乘法)

$multiply在聚合表达式中对多个数值求乘积,参数以数组传入,至少两个。常用于$project、$addFields、$set阶段,例如单价乘以数量得到小计、汇率换算等场景。任一参数为null或缺失时整体返回null;字符串或日期作为参数会报错。与$add类似,它是普通表达式而非累加器,跨文档累乘需要$group配合$push和$reduce实现。

分类数学
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $multiply: [ <表达式1>, <表达式2>, ... ] }

⚙️ 参数

因数数值或解析为数值的表达式,至少两个。

返回值:所有参数的乘积

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $multiply:单价乘数量求小计
db.orders.aggregate([
  { $project: {
      subtotal: { $multiply: ['$price', '$quantity'] }
  } }
])

运行结果:

{ '_id': 1, 'subtotal': 250 }
{ '_id': 2, 'subtotal': 72 }

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q$multiply能乘字符串或日期吗?
A不能,非数字类型直接报错,需先用$toDouble或$toInt转换。
Q$multiply和$sum有什么区别?
A$sum是$group累加器按行求和;$multiply是表达式,对数组内几个值相乘。
Q跨多行文档求累乘怎么做?
A先$group用$push收集数值,再用$reduce逐项相乘。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏