Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Sắp xếp document MongoDB theo thứ tự giảm dần

Để 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.