Как хранить значения времени UTC в Mongo с Mongoid? - PullRequest
4 голосов
/ 18 мая 2010

Поведение, которое я наблюдаю с адаптером Mongoid, заключается в том, что он сохраняет поля «время» с текущим системным часовым поясом в базе данных. Обратите внимание, что это системное время, а не Time.zone среды Rail. Если я изменю часовой пояс системы, то при последующих сохранениях будет выбран текущий часовой пояс системы.

# system currently at UTC -7
@record.time_attribute = Time.now.utc
@record.save

# in mongo, the value is "time_attribute" : "Mon May 17 2010 12:00:00 GMT-0700 (QYZST)"
@record.reload.time_attribute.utc?  # false

1 Ответ

1 голос
/ 16 июля 2010

Попробуйте установить для параметра use_utc mongoid config значение true.

Он сообщает Mongoid, что вы хотите вернуть время в UTC: http://github.com/durran/mongoid/blob/master/lib/mongoid/config.rb#L22

...