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

Sắp xếp trường MongoDB chứa cả số nguyên và số thập phân

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.