Tôi mới đến Mongoid. Trong tệp mô hình của tôi, tôi đã tạo một trường có kiểu dữ liệu BigDecimal. Tôi muốn lưu trữ tem thời gian trong đó. Dưới đây là mô hình mà tôi đang sử dụng:Lưu trữ Tem thời gian theo số Mongoid
class Test
include Mongoid::Document
field :time_stamp, type: BigDecimal
end
Và dưới đây là đoạn code mà tôi đang sử dụng để tạo ra một tài liệu:
aTime = "Wed Apr 24 09:48:38 +0000 2013"
timest = aTime.to_time.to_i
Test.create({time_stamp: timest})
tôi thấy rằng time_stamp được lưu giữ như String trong các cơ sở dữ liệu. Ai có thể trực tiếp cho tôi để lưu dấu thời gian như số trong DB để tôi có thể thực hiện một số hoạt động trên đó. Cảm ơn trước.
Để lưu dấu thời gian, bạn cần phải 'include Mongoid :: Timestamps' .. Thao tác này sẽ tạo: các trường created_at &: updated_at vào tài liệu của bạn. Không chắc chắn trường của bạn như thế nào ': time_stamp' được điền một cách kỳ diệu với một chuỗi thời gian. – brayne
Đây có thể là một lỗi trong trình điều khiển MongoDB của Mongoid, Moped. Bạn có thể đăng dữ liệu mà bạn có thể xem bằng cách truy vấn trong vỏ mongo không? Nếu bạn thực sự chỉ muốn lưu dấu thời gian, bạn chỉ có thể đặt loại trường thành 'Thời gian' thay vì' BigDecimal'. – davogones
@senthil, chỉ cố gắng sao chép và bật lên giá trị (time_stamp) được lưu trữ dưới dạng một số. mongoid (3.0.23) – ted