My lat and lng numbers are converted to strings. My integers are still the correct Number data type. How to configure the model so that I can return my lat and lng as Float, not String?
I store latLng data in my db. Right now I have the Number data type for lat and lng set. When I check my db, I see this:
{ "_id" : ObjectId("563bd98a105249f325bb8a7e"), "lat" : 41.8126189999999980, "lng" : -87.8187850000000054, "created" : ISODate("2015-11-05T22:34:50.511Z"), "__v" : 0, "section" : 0, }
But when I get my data using an expression, I get the following:
{ "_id": "563bd98a105249f325bb8a7e", "lat" : "41.8126189999999980", "lng" : "-87.8187850000000054", "__v": 0, "section" : 0, "created" : "2015-11-05T22:34:50.511Z", }
My model:
var WaypointSchema = new Schema({ lat: { type: Number }, lng: { type: Number }, section: { type: Number } created: { type: Date, default: Date.now } }); mongoose.model('Waypoint', WaypointSchema);
Express controller:
exports.list = function(req, res) { Waypoint.find().sort('-created').populate('user', 'displayName').exec(function(err, waypoints) { if (err) { return res.status(400).send({ message: errorHandler.getErrorMessage(err) }); } else { res.jsonp(waypoints); } }); };