MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come salvare correttamente un fuso orario con Ruby e MongoId?

Sembra che tu debba specificare il tipo di campo dell'attributo della data. Userei un campo Tempo se vuoi che mongoid gestisca correttamente le zone.

class Lineup
  include Mongoid::Document
  field :date, type: Time
end

Probabilmente vorrai anche impostare quanto segue in config/mongoid.yml

defaults: &defaults
  use_utc: false
  use_activesupport_time_zone: true

Sembra controintuitivo, ma questo è il modo attuale per fare in modo che mongoid utilizzi UTC come fuso orario predefinito.

Infine, dai un'occhiata a mongoid-metastamp gemma. Ti fornirà un supporto molto migliore per eseguire query su più fusi orari, pur continuando a funzionare senza problemi come un campo Ora nativo.