Để sắp xếp document, sử dụng sort() kết hợp với find(). Giá trị 1 là tăng dần, -1 là giảm dần.
Tạo collection dữ liệu
> db.demo630.insertOne({"Value":10});
> db.demo630.insertOne({"Value":200});
> db.demo630.insertOne({"Value":40});
> db.demo630.insertOne({"Value":60});
Hiển thị không sắp xếp
> db.demo630.find();
Kết quả (theo thứ tự insert):
Value: 10, 200, 40, 60
Sắp xếp giảm dần theo Value
> db.demo630.find().sort({Value: -1});
Kết quả:
{
"_id" : ObjectId("5e9b08116c954c74be91e6bb"), "Value" : 200
}
{
"_id" : ObjectId("5e9b08176c954c74be91e6bd"), "Value" : 60
}
{
"_id" : ObjectId("5e9b08146c954c74be91e6bc"), "Value" : 40
}
{
"_id" : ObjectId("5e9b080e6c954c74be91e6ba"), "Value" : 10
}
Các trường hợp thường dùng:
sort({field: 1}): Tăng dần (A-Z, 0-9, cũ->mới)sort({field: -1}): Giảm dần (Z-A, 9-0, mới->cũ)sort({field1: 1, field2: -1}): Sắp xếp đa cấp (field1 tăng, field2 giảm)- Kết hợp với
limit()để lấy Top N:find().sort({score:-1}).limit(10)
Lưu ý: Nên tạo index trên trường sort để tối ưu hiệu năng, tránh in-memory sort khi dữ liệu lớn.