Chương này giới thiệu cách sắp xếp kết quả truy vấn trong MongoDB, tương tự như việc sử dụng mệnh đề ORDER BY trong MySQL. Phân trang trong MongoDB được thực hiện thông qua hàm sort
của con trỏ Cursor.
Chuẩn bị dữ liệu thử nghiệm
Chèn một số bản ghi vào bộ sưu tập nhà hàng
db.restaurants.insertMany( [
{ "_id" : 1, "name" : "Quán Central Park", "borough" : "Manhattan"},
{ "_id" : 2, "name" : "Quán Bar and Grill Rock A Feller", "borough" : "Queens"},
{ "_id" : 3, "name" : "Quán Empire State Pub", "borough" : "Brooklyn"},
{ "_id" : 4, "name" : "Quán Stan's Pizzaria", "borough" : "Manhattan"},
{ "_id" : 5, "name" : "Quán Jane's Deli", "borough" : "Brooklyn"},
] );
Sắp xếp Kết Quả
db.restaurants.find({}).sort({_id:1})
Giải thích:
- Sử dụng hàm
sort
để thiết lập trường sắp xếp. - Truy vấn tất cả dữ liệu và sắp xếp theo _id theo thứ tự tăng dần.
Định dạng của các tham số hàm sort:
<trường>: 1 hoặc -1
Giải thích:
- 1 đại diện cho thứ tự tăng dần.
- -1 đại diện cho thứ tự giảm dần.
Kết hợp với Phân Trang
db.restaurants.find({}).limit(2).skip(2).sort({_id:-1})
Giải thích:
- Truy vấn tất cả dữ liệu, trả về tối đa 2 bản ghi, bỏ qua 2 bản ghi và sắp xếp theo _id theo thứ tự giảm dần.