我需要在Mongoid中創建一個命名範圍,該範圍比較同一文檔中的兩個時間字段。如Mongoid命名範圍比較同一文檔中的兩個時間字段
scope :foo, :where => {:updated_at.gt => :checked_at}
,因爲它將:checked_at
爲標誌,而不是實際的領域,這顯然是行不通的。有關如何做到這一點的任何建議?
更新1
這裏是我的模型,其中我有這個範圍內聲明的,用了很多額外的代碼剝離出來。
class User
include Mongoid::Document
include Mongoid::Paranoia
include Mongoid::Timestamps
field :checked_at, :type => Time
scope :unresolved, :where => { :updated_at.gt => self.checked_at }
end
這給了我下面的錯誤:
'<class:User>': undefined method 'checked_at' for User:Class (NoMethodError)
太棒了,這個作品很棒。也感謝您的性能建議。 – 2010-10-18 05:54:01