Mặc dù mongoDB hỗ trợ đầy đủ float
nhập, mongoose chỉ hỗ trợ loại Number
là số nguyên. Nếu bạn cố gắng lưu vào số thực mongoDB bằng cách sử dụng mongooses loại Number
nó sẽ được chuyển đổi thành chuỗi.
Để sắp xếp điều này, bạn sẽ cần tải một số plugin cho mongoose, plugin này sẽ mở rộng các loại giá trị của nó. Có một số plugin hoạt động tốt nhất với đơn vị tiền tệ hoặc ngày tháng, nhưng trong trường hợp của bạn, tôi sẽ sử dụng https://www.npmjs.com/package/mongoose-double .
Mô hình của bạn sau khi thay đổi sẽ trông giống như sau:
var mongoose = require('mongoose')
require('mongoose-double')(mongoose);
var SchemaTypes = mongoose.Schema.Types;
var WaypointSchema = new Schema({
lat: {
type: SchemaTypes.Double
},
lng: {
type: SchemaTypes.Double
},
section: {
type: Number
}
created: {
type: Date,
default: Date.now
}
});
mongoose.model('Waypoint', WaypointSchema);
Hy vọng nó sẽ hữu ích.