Appearance
MongoDB 排序
sort 方法
sort 接收一个对象:键为字段名,值为 1(升序)或 -1(降序):
javascript
db.users.find().sort({ age: 1 }) // 按 age 升序
db.users.find().sort({ age: -1 }) // 按 age 降序
db.users.find().sort({ createdAt: -1 }) // 按创建时间倒序(最新在前)多字段排序
先按第一个字段排,相同再按第二个字段:
javascript
db.users.find().sort({ status: 1, age: -1 })即:先按 status 升序,再按 age 降序。
与 limit 结合
取“年龄最大的 5 个用户”:
javascript
db.users.find().sort({ age: -1 }).limit(5)注意
- 排序会占用内存,若无法使用索引则可能使用内存排序,单次排序有 32MB 内存限制。
- 为常用排序字段建索引可显著提升性能。见 MongoDB 索引。