MongoDB sort() tự động xử lý kiểu số hỗn hợp
MongoDB so sánh giá trị số (int, double, long) theo giá trị số học tự nhiên, không phân biệt kiểu. Do đó sort({ Value: 1 }) hoạt động chính xác cho trường chứa cả integer và decimal.
Dữ liệu mẫu
> db.demo755.insertMany([
{ Value: 10 },
{ Value: 10.5 },
{ Value: 9.5 },
{ Value: 12.5 },
{ Value: 11.5 },
{ Value: 6 }
]);
Truy vấn sắp xếp tăng dần
> db.demo755.find().sort({ Value: 1 });
Kết quả
{ "_id": ObjectId("..."), "Value": 6 }
{ "_id": ObjectId("..."), "Value": 9.5 }
{ "_id": ObjectId("..."), "Value": 10 }
{ "_id": ObjectId("..."), "Value": 10.5 }
{ "_id": ObjectId("..."), "Value": 11.5 }
{ "_id": ObjectId("..."), "Value": 12.5 }
Sắp xếp đúng theo giá trị số: 6, 9.5, 10, 10.5, 11.5, 12.5.