Hello I am working in node js + mongodb.
When I insert the data into collection the data is stored default ISODate eg. ISODate("2016-06-17T13:00:21.665Z")
I want to insert the date fields should be store in UTC.
Its already stored in UTC format or need to change anything in code ?
Please anyone suggest me.
My Code:
var query = {};
query.created_by = 'admin';
query.created_on = new Date();
var collection = mongoUtil.list;
collection.insert(query, function(err, item) {
if (!err && item) {
console.log("success");
} else {
console.log("error");
}
});
Mongo inserted data:
{ "created_by" : "admin", "created_on" : ISODate("2016-06-17T13:00:21.665Z") }
I checked the refference - Mongo UTC Refference From Document:
Yes, as mentioned in abdulbarik's answer, MongoDB does save the Date in UTC.
Date Object:-
You can use getTimezoneOffset() method to get the difference between UTC and Local Time.
var d = new Date()
var n = d.getTimezoneOffset();
console.log('date obj ==>' + d);
console.log('time zone obj ==>' + n);
Console log:-
You can see the time zone obj has "-60". I am on GMT+1.
date obj ==>Mon Sep 12 2016 10:17:28 GMT+0100 (GMT Daylight Time)
time zone obj ==>-60
MongoDB has persisted the date in UTC:-
I have used object "d" (i.e. new Date()) to persist the date in MongoDB. Though I am on GMT+1, the date is stored in UTC.
"timestamp" : ISODate("2016-09-12T09:17:28.193Z"),