Để tìm giá trị nhỏ nhất trong MongoDB, bạn có thể kết hợp phương thức sort() với limit(1). Cú pháp cơ bản như sau:
db.tênCollection.find().sort({tênTrường: 1}).limit(1);
Trong đó 1 đại diện cho thứ tự tăng dần (ascending), giúp tài liệu có giá trị nhỏ nhất xuất hiện đầu tiên.
Ví dụ minh họa
Tạo collection findMinValueDemo và chèn một số tài liệu mẫu:
> db.findMinValueDemo.insertOne({"StudentMarks":78});
> db.findMinValueDemo.insertOne({"StudentMarks":69});
> db.findMinValueDemo.insertOne({"StudentMarks":79});
> db.findMinValueDemo.insertOne({"StudentMarks":59});
> db.findMinValueDemo.insertOne({"StudentMarks":91});
Hiển thị tất cả tài liệu:
> db.findMinValueDemo.find().pretty();
Kết quả:
{ "_id" : ObjectId("..."), "StudentMarks" : 78 }
{ "_id" : ObjectId("..."), "StudentMarks" : 69 }
{ "_id" : ObjectId("..."), "StudentMarks" : 79 }
{ "_id" : ObjectId("..."), "StudentMarks" : 59 }
{ "_id" : ObjectId("..."), "StudentMarks" : 91 }
Truy vấn tìm giá trị nhỏ nhất:
> db.findMinValueDemo.find().sort({StudentMarks: 1}).limit(1);
Kết quả:
{ "_id" : ObjectId("..."), "StudentMarks" : 59 }
Lưu ý: Phương pháp này hiệu quả với các collection nhỏ. Với dữ liệu lớn, bạn nên tạo index trên trường cần tìm để tối ưu hiệu suất.