sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur sparar man en tidszon korrekt med Ruby och MongoId?

Det verkar som att du behöver ange fälttypen för ditt datumattribut. Jag skulle använda ett tidsfält om du vill att mongoid ska hantera zonerna korrekt.

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

Du kommer förmodligen också att vilja ställa in följande i config/mongoid.yml

defaults: &defaults
  use_utc: false
  use_activesupport_time_zone: true

Detta låter kontraintuitivt, men det här är det nuvarande sättet att få mongoid att använda UTC som standardtidszon.

Slutligen, ta en titt på mongoid-metastamp pärla. Det kommer att ge dig mycket bättre stöd för att söka över flera tidszoner, samtidigt som det fungerar sömlöst som ett inbyggt tidsfält.




  1. MongoDB $dateToParts

  2. Vilket är det mest tidseffektiva sättet att serialisera/deserialisera en DataTable till/från Redis?

  3. Använder MongoDB .findOne()-funktionen med kapslat dokumentvärde

  4. MongoDB:Frågar du flera samlingar med två frågor?