tryNext()(尝试取下一文档)

最后更新:2026-10-09

tryNext()(尝试取下一文档)

tryNext()尝试返回游标中的下一条文档,没有时返回null而不是抛错,语法为`const doc = db.users.find().tryNext()`。与next()在耗尽时抛错不同,tryNext()让遍历代码更安全简洁,特别适合条件循环和容错场景。

分类游标
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

db.<集合>.find(<条件>).tryNext()

返回值:下一条文档;游标耗尽时返回null。

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// tryNext:无需hasNext的安全遍历
const cursor = db.users.find()
let doc
while ((doc = cursor.tryNext()) !== null) {
  print(doc.name)
}

运行结果:

Alice
Bob
Cara

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

QtryNext和next有什么区别?
A游标耗尽时next()抛错,tryNext()返回null,后者遍历更安全。
QtryNext能替代hasNext吗?
A可以,while ((doc = cursor.tryNext()) !== null)的写法无需hasNext()即可安全遍历。
QtryNext返回null就结束了吗?
A是的,null表示游标已耗尽,循环应退出。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

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

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