首页/数据/NoSQL 速查/游标 sort / limit / skip 与翻页
MongoDB99 条

游标 sort / limit / skip 与翻页

在游标上链式调用 sort、limit、skip;mongosh 里可用 it 继续取下一批,toArray() 一次取完(注意内存占用)。

NoSQL 速查数据更新于 2026-10-12
排序.sort({ts:-1}) 倒序
翻页.skip(n).limit(m)
继续迭代it / hasNext / next

翻页与迭代

翻页与迭代
db.orders.find({ status: "paid" }).sort({ ts: -1 }).limit(20)
const c = db.orders.find().sort({ ts: -1 }).skip(100).limit(10)
c.toArray()
未命中索引的排序在内存中进行,超过 100MB 报错,可临时加 allowDiskUse。

易错点

  • 深分页用大 skip 性能差,改为按 (ts, _id) 条件翻页更稳
  • 单字段排序遇到重复值顺序不保证,稳定排序请加 _id 作为次级排序键

数据来源与参考

  • MongoDB Manual: Cursor Methods
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌