2014-02-07 3 views
2

Я написал следующий код для обновления поля даты и времени с сегодняшней датой-временем:MongoDB обновления поле даты и время

User.update({'email': email } , {'resetpwddateExpire' : new Date() }) 

дата часть правильно обновить, но время часть нет. Например:

  • если resetpwddateExpire начинается 2/14/2014 8:08:52 AM
  • после обновления resetpwddateExpire теперь 2/7/2014 9:08:52 AM
  • , но это должно быть 2/7/2014 3:08:52 PM

ответ

1

Я предполагаю, что вы используете Mongoose. Мне кажется, что когда документ был создан, поле resetpwddateExpire было установлено в будущем. И когда вы обновляете его, он становится сегодняшней датой, которая составляет 7 февраля 2014 года.

Возможно, использование оператора $ set поможет.

var oneWeek = 7 * 24 * 60 * 60 * 1000; 
    User.update({'email': email } , {'$set': {'resetpwddateExpire' : Date.now() + oneWeek}}, function(...){}); 
Смежные вопросы