allowDiskUse() (Allow Disk for Sort)

Last updated: 2026-10-09

allowDiskUse() (Allow Disk for Sort)

allowDiskUse() lets a cursor spill to disk for blocking operations like sort() that demand heavy memory: `db.users.find().sort({ age: -1 }).allowDiskUse()`. Sorts over the 100MB memory cap error by default; with this flag, intermediate results land in temp files. It rescues huge sorts and aggregations at the cost of disk-IO performance.

CategoryCursor
MongoDB Version1.0+
Example Languagemongosh (Shell)

📝 Syntax

db.<collection>.find(<filter>).sort(<sortKey>).allowDiskUse()

Returns:The cursor with disk spill enabled (chainable).

▶ Example

Run the commands below in your local mongosh (requires a running mongod):

// allowDiskUse: allow disk spill for a huge sort
const result = db.logs.find({ level: 'error' })
  .sort({ timestamp: -1 })
  .allowDiskUse()
  .toArray()
result.length

Output:

1200

📌 Notes

More hands-on cases coming soon.

📚 Related Tutorials

❓ FAQ

QWhen do I need allowDiskUse?
AEnable it when a sort or aggregation exceeds the 100MB memory cap and errors, e.g. sorting an entire huge collection.
QDoes allowDiskUse hurt performance?
AYes — disk spills are far slower than pure in-memory work; prefer index-backed sorts to avoid them.
QIs allowDiskUse the same as the aggregation option?
ASame semantics — disk spill for intermediates; the cursor method serves find().sort(), the aggregation option serves aggregate().
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

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

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