find(查询文档)

最后更新:2026-10-09

find(查询文档)

find是MongoDB的查询命令,mongosh中通常用db.collection.find(filter, projection)辅助方法调用,底层命令形式为db.runCommand({ find: 'orders', filter: {...} })。支持filter、projection、sort、limit、skip、batchSize等参数。返回游标,id非0时需getMore取后续批次。

分类管理命令
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

db.orders.find({ status: "shipped" }).limit(10)
db.runCommand({
  find: "orders",
  filter: { status: "shipped" },
  limit: 10
})

⚙️ 参数

filter查询条件文档
projection返回字段控制(1包含/0排除)
sort/limit/skip排序、条数限制与跳过

返回值:返回游标,firstBatch含匹配文档,id非0时需getMore

▶ 示例

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

// find:命令形式查询
use shop
db.runCommand({
  find: 'orders',
  filter: { status: 'shipped' },
  sort: { createdAt: -1 },
  limit: 5
})

运行结果:

{ cursor: { firstBatch: [ { _id: ObjectId('...'), status: 'shipped' } ], id: 0, ns: 'shop.orders' }, ok: 1 }

📌 注意事项

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

📚 相关教程

❓ 常见问题

Qfind和findOne什么关系?
AfindOne是find的封装,内部加limit: 1并返回首条文档。
Q返回游标怎么取完所有数据?
A用toArray()或游标迭代;id非0时服务端自动getMore。
Q查询性能怎么看?
A用explain()查看执行计划,关注是否走索引与executionStats。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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