Sono nuovo di Mongoid. Nel mio file di modello, ho creato un campo con tipo di dati BigDecimal. Voglio memorizzare l'ora in esso. Qui di seguito è il modello che sto usando:Memorizzazione del timestamp come numero Mongolo
class Test
include Mongoid::Document
field :time_stamp, type: BigDecimal
end
e sotto v'è il codice che sto usando per creare un documento:
aTime = "Wed Apr 24 09:48:38 +0000 2013"
timest = aTime.to_time.to_i
Test.create({time_stamp: timest})
vedo che il time_stamp viene memorizzato come stringa nel Banca dati. Qualcuno può dirmi di memorizzare il timestamp come numero in DB in modo da poter eseguire alcune operazioni su di esso. Grazie in anticipo.
Per memorizzare timestamp, è necessario 'includere Mongoid :: Timestamps'. Ciò creerà: created_at &: updated_at i campi del documento. Non sei sicuro di come il tuo campo ': time_stamp' sia magicamente popolato da una stringa temporale. – brayne
Questo potrebbe essere un bug nel driver MongoDB di Mongoid, Ciclomotore. Puoi pubblicare i dati che puoi vedere interrogando nella shell di mongo? Se si desidera solo memorizzare il timestamp, è sufficiente impostare il tipo di campo su "Ora" invece di "BigDecimal". – davogones
@senthil, ho appena provato a riprodurre e alzato il valore (time_stamp) è stato memorizzato come un numero. mongoid (3.0.23) – ted