next() (Fetch Next Document)
Last updated: 2026-10-09
next() (Fetch Next Document)
next() returns the next document in a cursor and advances it: `db.users.find().next()`. Calling it after the cursor is exhausted throws an error, so pair it with hasNext(): `while (cursor.hasNext()) { const doc = cursor.next() }`. It is the low-level primitive for manual cursor iteration.
| Category | Cursor |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
db.<collection>.find(<filter>).next()
Returns:The next document; throws when the cursor is exhausted.
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// next: manually pull the first 3 documents
const cursor = db.users.find()
for (let i = 0; i < 3; i++) {
print(cursor.next().name)
}
Output:
Alice
Bob
Cara
📌 Notes
- next() throws once the cursor is exhausted
- Pair with hasNext() for safe iteration
- Forward-only — you cannot step back
🏷️ Related Tags
💡 Related Cases
Integrating Express with Mongoose: Web Application Architecture
Mongoose Models and Schema Design
Mongoose Data Validation and Middleware
RESTful API in Practice: A Complete Guide to CRUD Design
📚 Related Tutorials
❓ FAQ
QWhat happens when next() hits the end of the cursor?
AIt throws. The safe pattern is checking hasNext() before calling next().
QWhat is the difference between next and tryNext?
Anext() throws at the end; tryNext() returns null instead, better for fault-tolerant loops.
QCan next() go back to the previous document?
ANo, cursors only move forward. Save results to an array to revisit them.