next()(取下一文档)
最后更新:2026-10-09
next()(取下一文档)
next()返回游标中的下一条文档并把游标指针前移,语法为`db.users.find().next()`。游标耗尽后再调用会抛错,因此通常与hasNext()配合:`while (cursor.hasNext()) { const doc = cursor.next() }`。它是底层手动遍历游标的核心方法。
| 分类 | 游标 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
db.<集合>.find(<条件>).next()
返回值:下一条文档;游标耗尽时抛出错误。
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// next:手动遍历游标的前3条
const cursor = db.users.find()
for (let i = 0; i < 3; i++) {
print(cursor.next().name)
}
运行结果:
Alice
Bob
Cara
📌 注意事项
- 游标耗尽后调用next()会抛错
- 通常与hasNext()配合做安全遍历
- 只前进不后退,无法回到上一条
🏷️ 相关标签
💡 相关案例
📚 相关教程
❓ 常见问题
Qnext在游标耗尽时会怎样?
A会抛出错误。安全写法是先用hasNext()判断再调用next()。
Qnext和tryNext有什么区别?
Anext()在耗尽时抛错;tryNext()返回null而不是抛错,更适合容错遍历。
Qnext()可以回到上一条吗?
A不能,游标只能向前移动。需要回看请先把结果保存到数组。