Всем привет! Столкнулся с такой проблемой. Пытаюсь сохранить дату в UTC в mongoDB. Дата уже находится в utc (kind= utc) но при сохранении даты в базу она еще раз переводится в UTC. То есть в mongoDB она храниться уже как (-8) часов!!!
К примеру. Текущая локальная дата = 11.11.2014 11.30. В UTC она будет 11.11.2014 7.30. Так вот, когда я сохраняю 11.11.2014 7.30 (kind = UTC) в mongoDB дата еще раз переводится в UTC в итоге в mongoDB уже лежит 11.11.2014 3.30.
Проблему можно решить, переведя дату в локальное время или приплюсовав 4 часа, перед сохранением в mongodb. Но как-то это уж очень коряво. Подскажите, как можно настроить базу, чтобы дата, которая уже в utc, еще раз не переводилась в utc?
Сохраняйте в качестве даты строку от Date.toJSON():
var now = new Date(); // текущая дата
var dateString = now.toJSON(); // строка с датой в UTC; удобно хранить в mongo
var parsedDate = new Date(dateString); // преобразовали строку обратно в объект
Не не вариант... Лучше уж перед сохранением перевести дату в локаль. Тогда в монге дата будет по гринвичу. Все ОК. Но я думал есть какая то хитрость в настройке драйвера, сериалайзера.