जवाब खुद मिला। उपसर्ग के साथ this.*
मैं खेतों का संदर्भ दे सकता हूं। और मैं जावास्क्रिप्ट फ़ंक्शंस का उपयोग कर सकता हूं। MongoDB कूलर और कूलर हो जाता है!
तो ये रहा मेरा समाधान:
class Invoice
include Mongoid::Document
field :invoice_date, :type => Date
field :days_for_payment, :type => Integer
...
scope :overdue, where("(Math.round(this.invoice_date.getTime() / 1000) + (this.days_for_payment * 24 * 3600)) < #{Time.now.to_i}")
...
end
जेएस में टाइमस्टैम्प निर्माण अलग काम करता है। इसलिए मुझे अंतिम तीन संख्याओं से छुटकारा पाना था और उनके चारों ओर चक्कर लगाना था। अगर कोई और अधिक सुंदर तरीका जानता है, तो कृपया मुझे बताएं।
मेरी एकमात्र समस्या यह है कि मैं एक Date
स्टोर नहीं कर सकता MongoDB पर आपत्ति। यह हमेशा मुझसे कहता है कि मुझे Time
का उपयोग करना है . मुझे लगता है कि मैं मोंगोइड को 3.0.1 में बेहतर तरीके से अपग्रेड कर सकता हूं।