MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongoid के साथ परिकलित फ़ील्ड पर आधारित क्वेरी

जवाब खुद मिला। उपसर्ग के साथ 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 में बेहतर तरीके से अपग्रेड कर सकता हूं।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. बहुभुज GeoJSON ऑब्जेक्ट्स के निर्देशांक सरणी की एक सरणी में क्यों संग्रहीत किए जाते हैं?

  2. बढ़ती डेटा संरचना के साथ MongoDB प्रदर्शन

  3. PHP intl.so विफल रहता है

  4. ClusterControl के साथ एजेंट रहित डेटाबेस मॉनिटरिंग

  5. Mongodb दस्तावेज़ _id फ़ील्ड से दिनांक और समय प्राप्त करें