Jestem nowy w Mongoid. W moim pliku modelu utworzyłem pole z typem danych BigDecimal. Chcę przechowywać w nim znacznik czasu. Poniżej jest model, który używam:Przechowywanie znacznika czasu jako numeru Mongoid
class Test
include Mongoid::Document
field :time_stamp, type: BigDecimal
end
A poniżej jest kod, który używam do utworzenia dokumentu:
aTime = "Wed Apr 24 09:48:38 +0000 2013"
timest = aTime.to_time.to_i
Test.create({time_stamp: timest})
widzę, że datownik jest przechowywany jako ciąg w Baza danych. Czy ktoś może polecić mi przechowywać znacznik czasu jako numer w DB, aby mógł wykonać niektóre operacje na nim. Z góry dziękuję.
Aby przechowywać znaczniki czasu, musisz "włączyć Mongoid :: Timestamps'. Spowoduje to utworzenie: created_at &: updated_at pól do twojego dokumentu. Nie wiem, w jaki sposób twoje pole ': time_stamp' jest magicznie wypełnione łańcuchem czasu. – brayne
To może być błąd w MongoDB sterownika Mongoid, Moped. Czy możesz przesłać dane, które widzisz, wysyłając zapytania w powłoce Mongo? Jeśli naprawdę chcesz przechowywać znacznik czasu, możesz ustawić typ pola na "Czas" zamiast "BigDecimal". – davogones
@senthil, po prostu próbował odtworzyć i podniósł wartość (time_stamp) został zapisany jako liczba. mongoid (3.0.23) – ted