limit()(限制返回条数)
最后更新:2026-10-09
limit()(限制返回条数)
limit()限制find()返回的文档数量,语法为`db.users.find({ age: { $gt: 20 } }).limit(5)`。它接在游标之后链式调用,是分页和取前N条记录的常用手段。limit(0)等价于不限;limit()与其他游标方法可任意组合,如配合skip()实现分页。
| 分类 | 游标 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
db.<集合>.find(<条件>).limit(<数量>)
⚙️ 参数
| 数量 | 最多返回的文档数;0表示不限制。 |
|---|
返回值:限制数量后的游标(可继续链式调用)。
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// limit:只取前3个成年用户
const top3 = db.users.find({ age: { $gte: 18 } }).limit(3).toArray()
top3
运行结果:
[
{ _id: ObjectId('64c8a1b20000000000000001'), name: 'Alice', age: 21 },
{ _id: ObjectId('64c8a1b20000000000000002'), name: 'Bob', age: 25 }
]
📌 注意事项
- limit()只是服务端截断,不保证与skip()组合时的全局一致性分页
- limit(0)表示不限制数量
- 配合排序使用更可预测,如.sort({age: 1}).limit(5)
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qlimit和skip怎么配合做分页?
A典型写法是.skip(每页条数*页码).limit(每页条数),例如第2页每页10条写.skip(10).limit(10)。
Qlimit(0)是什么意思?
Alimit(0)表示不限制返回数量,等价于没有limit。
Qlimit之后还能调用其他游标方法吗?
A可以,limit()返回游标,后面还能接sort()、skip()、toArray()等。