toArray() (Cursor to Array)
Last updated: 2026-10-09
toArray() (Cursor to Array)
toArray() fetches everything a find()-style cursor references and returns it as a JavaScript array: `db.users.find({ age: { $gt: 20 } }).toArray()`. The cursor is fully consumed in one go — fine for small result sets processed client-side. Huge results eat a lot of memory, so prefer forEach() streaming for large collections.
| Category | Cursor |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
db.<collection>.find(<filter>).toArray()
Returns:Array of all result documents.
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// toArray: convert adult-user results to an array
const users = db.users.find({ age: { $gte: 18 } }).toArray()
print('Total: ' + users.length)
Output:
Total: 42
📌 Notes
- Fetches everything at once — big result sets are memory-heavy
- The cursor is exhausted afterwards and cannot be iterated again
- Results over the BSON response cap error out; pair with limit() or pagination
🏷️ Related Tags
💡 Related Cases
📚 Related Tutorials
❓ FAQ
QDoes find() return an array?
ANo, find() returns a cursor. Call .toArray() for an array, or iterate with forEach() and friends.
QDoes toArray load all data at once?
AYes — everything lands in client memory; enormous result sets can blow up memory, so stream with forEach() instead.
QCan I iterate the cursor after toArray?
ANo, the cursor is exhausted. Save the array to a variable if you need it again.