maxTimeMS()(设置超时时间)

最后更新:2026-10-09

maxTimeMS()(设置超时时间)

maxTimeMS()为游标操作设置最大执行时间(毫秒),语法为`db.users.find().maxTimeMS(5000)`。超过时限服务器会终止该操作并抛错,常用于防止慢查询长时间占用数据库资源。它是数据库侧的硬超时,与驱动侧的socketTimeout不同。

分类游标
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

db.<集合>.find(<条件>).maxTimeMS(<毫秒>)

⚙️ 参数

毫秒最大执行时间,单位毫秒。

返回值:设置超时后的游标(可继续链式调用)。

▶ 示例

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

// maxTimeMS:查询最多执行5秒
const result = db.users.find()
  .maxTimeMS(5000)
  .toArray()
result.length

运行结果:

1000

📌 注意事项

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

📚 相关教程

❓ 常见问题

QmaxTimeMS超时会怎样?
A服务器终止该操作并抛出超时异常,可通过try/catch捕获处理。
QmaxTimeMS的单位是什么?
A毫秒。maxTimeMS(1000)表示最长执行1秒。
QmaxTimeMS和驱动超时一样吗?
A不一样,maxTimeMS是服务器侧硬限制,到了时间服务器主动终止;驱动超时只是客户端不再等待。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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