Reputation: 42778
I know that I can set Date.now
as a default value in a mongoose
schema, but what other Javascript date types or are all dates automatically converted to mongodb´s standard format - ISOdate
?
Are there anything I should be concerned about when it comes to storing dates?
dates: {
created: {type: Date, default: Date.now},
}
Thanks
Upvotes: 28
Views: 65616
Reputation: 5844
Mongoose date casting has a couple of small cases where it differs from
JavaScript's native date parsing.
You might be interested in reading how to work with dates, to better understand casting errors and common pitfalls:
https://mongoosejs.com/docs/tutorials/dates.html.
const moment = require('moment');
const user = new User({
name: 'Jean-Luc Picard',
lastActiveAt: moment.utc('2002-12-09')
});
user.lastActiveAt; // "2002-12-09T00:00:00.000Z"
new Date(1552261496289); // "2019-03-10T23:44:56.289Z"
new Date('1552261496289'); // "Invalid Date"
new Date('2010'); // 2010-01-01T00:00:00.000Z
Mongoose converts numeric strings that contain numbers outside the range of representable dates in JavaScript and converts them to numbers before passing them to the date constructor.
Upvotes: 1
Reputation: 1
you need cover to new Date(req.body.time).toString()
, req.body.time is a time format month/day/year or month-day-year month before day
Upvotes: 0
Reputation: 63683
The only thing you should take care of is converting the MongoDB/BSON UTC date to your local timezone (in case you need this).
For more info checkout: http://docs.mongodb.org/manual/reference/bson-types/#document-bson-type-date
Upvotes: 18