find()(查询文档)

最后更新:2026-10-09

find()(查询文档)

find() 查询集合中匹配条件的文档,返回一个游标(Cursor)。它是最基础的读取方法:第一个参数是查询条件,第二个参数是投影(控制返回哪些字段)。游标默认惰性——真正数据在遍历(toArray/forEach/next)时才从服务器拉取。

分类读取
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

db.<集合>.find(<查询条件>, <投影>)

⚙️ 参数

查询条件匹配文档的条件对象,支持查询操作符;省略则匹配全部。
投影可选。控制返回字段:1 包含 / 0 排除。

返回值:游标(Cursor)

▶ 示例

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

// find:查询 age 大于 20 的用户,只返回姓名
const cursor = db.users.find(
  { age: { $gt: 20 } },
  { name: 1, age: 1, _id: 0 }
)
cursor.forEach(u => print(u.name))

运行结果:

Alice
Bob

📌 注意事项

📚 相关教程

❓ 常见问题

Qfind() 返回的是数组吗?
A不是,返回游标。需要数组时用 .toArray() 或 .toArray() 前的迭代方法转换。
Qfind() 返回的是什么?
Afind() 返回一个游标(cursor),不是数组。可以用 toArray() 转为数组,或用 forEach/next 等方式迭代;游标惰性加载,只在读取时从服务端拉取数据。
Qfind() 第二参数做什么用?
A它是投影(projection),指定返回哪些字段:1 包含、0 排除(两者不能混用除 _id 外)。用于减少网络传输和数据量。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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