$mul(乘法更新)

最后更新:2026-10-09

$mul(乘法更新)

$mul 将字段值乘以指定倍数。`{ $mul: { price: 0.9 } }` 打九折;`{ $mul: { quantity: 2 } }` 翻倍。字段不存在时按「乘以 0」语义处理,值为 0 的文档会被写入 0。对非数值字段报错。原子操作,适合批量调价、权重缩放。

分类更新字段
MongoDB 版本2.6+
示例语言mongosh (Shell)

📝 语法

{ $mul: { <字段>: <倍数> } }

⚙️ 参数

字段要相乘的数值字段名。
倍数乘法因子,可为小数或负数。

返回值:更新结果文档

▶ 示例

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

// $mul:价格打九折
// 100 变为 90
db.products.updateOne(
  { _id: 1 },
  { $mul: { price: 0.9 } }
)

// 数量翻倍
db.products.updateOne(
  { _id: 2 },
  { $mul: { qty: 2 } }
)

运行结果:

// price 乘以 0.9,qty 乘以 2;字段不存在时创建为 0

📌 注意事项

📚 相关教程

❓ 常见问题

Q$mul 字段不存在会怎样?
A按乘以 0 处理,创建字段并写入 0。
Q$mul 能处理浮点吗?
A能,浮点精度取决于 BSON 类型。
Q$mul 和 $inc 什么区别?
A$inc 加减,$mul 乘除;都用增量或倍数表达。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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