$mod(取模)

最后更新:2026-10-09

$mod(取模)

$mod 匹配字段值除以给定除数后余数等于指定值的文档。`{ qty: { $mod: [4, 0] } }` 匹配 qty 能被 4 整除的文档。常用于分桶、取整、周期性筛选(如逢 5 的倍数)。注意 MongoDB 5.1 起要求除数与余数均为整数,浮点数会报错。

分类元素与求值
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ <字段>: { $mod: [ <除数>, <余数> ] } }

⚙️ 参数

字段要匹配的数值字段名。
除数与余数数组格式固定为 [除数, 余数],均为整数。

返回值:匹配的文档游标

▶ 示例

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

// $mod:数量能被 4 整除的商品
db.products.find({ qty: { $mod: [4, 0] } })

// 余数为 1:如每 4 个一组的第一个
db.products.find({ qty: { $mod: [4, 1] } })

运行结果:

// 返回 qty 除以 4 余 0(整除)的商品;第二个示例返回余 1 的商品

📌 注意事项

📚 相关教程

❓ 常见问题

Q$mod 数组里两个数是什么意思?
A[除数, 余数],匹配「字段值除以除数余数为余数」的文档。
Q$mod 支持浮点数吗?
AMongoDB 5.1 起不支持,除数和余数都必须是整数。
Q$mod 能走索引吗?
A不能,$mod 是计算型操作符,会全表扫描。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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