maxTimeMS() (Set Time Limit)
Last updated: 2026-10-09
maxTimeMS() (Set Time Limit)
maxTimeMS() caps how long a cursor operation may run, in milliseconds: `db.users.find().maxTimeMS(5000)`. Past the limit, the server aborts the operation and throws — a guard against slow queries hogging resources. It is a server-side hard timeout, distinct from driver-side socket timeouts.
| Category | Cursor |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
db.<collection>.find(<filter>).maxTimeMS(<ms>)
⚙️ Parameters
| milliseconds | Maximum execution time in milliseconds. |
|---|
Returns:The cursor with the time limit applied (chainable).
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// maxTimeMS: cap the query at 5 seconds
const result = db.users.find()
.maxTimeMS(5000)
.toArray()
result.length
Output:
1000
📌 Notes
- The server aborts the operation and throws on timeout
- Unit is milliseconds — 5000 means five seconds
- Applies to aggregations and findAndModify-style writes too
🏷️ Related Tags
💡 Related Cases
More hands-on cases coming soon.
📚 Related Tutorials
❓ FAQ
QWhat happens when maxTimeMS is exceeded?
AThe server kills the operation and throws a timeout error — catch it with try/catch.
QWhat unit does maxTimeMS use?
AMilliseconds. maxTimeMS(1000) means one second at most.
QIs maxTimeMS the same as a driver timeout?
ANo — maxTimeMS is a server-side hard limit that kills the op; a driver timeout merely stops the client waiting.