sql >> データベース >  >> NoSQL >> MongoDB

RubyとMongoIdでタイムゾーンを正しく保存するにはどうすればよいですか?

    日付属性のフィールドタイプを指定する必要があるようです。 mongoidでゾーンを適切に処理する場合は、Timeフィールドを使用します。

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

    また、config / mongoid.yml

    で次のように設定することもできます。
    defaults: &defaults
      use_utc: false
      use_activesupport_time_zone: true
    

    これは直感に反するように聞こえますが、これは、mongoidがデフォルトのタイムゾーンとしてUTCを使用するようにする現在の方法です。

    最後に、mongoid-metastamp をご覧ください。 宝石。ネイティブのタイムフィールドのようにシームレスに機能しながら、複数のタイムゾーンにわたるクエリのサポートが大幅に向上します。




    1. ドキュメントのアップサートおよび/またはサブドキュメントの追加

    2. MongoDB-DBRefフィールドタイプから$refのみを更新

    3. PerlMongoはオブジェクトIDを検索します

    4. MongoDBロールバックから回復する方法は?