填充模型后,Mongoid日期会更改

时间:2011-10-22 10:24:38

标签: datetime mongoid

当我把一个约会放入mongoid时,它比我放入的时间提前一小时出来... 这是一个错误还是我刚刚过时或做错了什么?

第一次约会时失败。

require 'mongoid'

class RawVote
  include Mongoid::Document
  field :created_at, type: DateTime
end


describe "Possible mongoid bug" do

  it "should have the same date as what I put in" do
    date = DateTime.parse("Sat Oct 15 22:27:17 +0000 2011")
    vote = RawVote.new(created_at: date)
    vote2 = RawVote.new(created_at: vote.created_at)

    vote.created_at.should == date
    vote2.created_at.should == date

    vote.nil?.should == true
  end
end

1 个答案:

答案 0 :(得分:0)

我有使用mongoid使用DateTime的奇怪经历,对我来说使用Time更稳定。此外,您还可以包含Mongoid::Timestamps::Created,而不是定义字段。

关于Mongoid需要注意的一点是,它在持久化到db时会截断毫秒。所以这也可能会让你有些奇怪 - 但不知道为什么你会失去一个小时