Bạn có thể đảo ngược hướng sắp xếp để lấy giá trị tối thiểu thay vì giá trị tối đa:
# Sort by myfield (ascending value) and return first document
collection.find_one(sort=[("myfield", 1)])["myfield"]
Ví dụ này giả định rằng:
myfield
là một giá trị số (vì vậy thứ tự sắp xếp có ý nghĩa để xác định mức tối thiểu hoặc tối đa)
myfield
tồn tại trong tài liệu phù hợp được trả về (nếu không Python sẽ báo cáo KeyError
khi cố gắng tham chiếu trường không tồn tại).
- tất cả các tài liệu trong bộ sưu tập đều có một
myfield
giá trị (các tài liệu không có myfield
giá trị sẽ được sắp xếp trước các giá trị số tối thiểu)
Để đảm bảo sắp xếp của bạn dựa trên các tài liệu thực sự có myfield
giá trị, bạn có thể thêm $exists
vào tiêu chí truy vấn:
collection.find_one({"myfield": {"$exists": True}}, sort=[("myfield", 1)])["myfield"]
Để biết thêm thông tin về sắp xếp, xem: