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

मैं mongodb के _id का उपयोग करके विशेष तिथि पर डाले गए मानों को पुनर्प्राप्त करना चाहता हूं

हालांकि यह सच है कि ObjectId एक "टाइमस्टैम्प" पर आधारित है, आम तौर पर यह ObjectId मान से इस तिथि को "निकालने" के लिए एक "क्लाइंट" लाइब्रेरी ऑपरेशन है।

आप इसे $where , लेकिन इसे पूरे संग्रह को "स्कैन" करने की आवश्यकता होगी, इसलिए यह बहुत कुशल नहीं है:

 db.collection.find(function() {
     return (
        ( this._id.getTimestamp().valueOf() - 
          this._id.getTimestamp().valueOf() % ( 1000 * 60 * 60 * 24 ) )
        == new Date("2014-07-14").valueOf() );
 })

यह मूल रूप से यह देखने के लिए तुलना करेगा कि क्या ObjectId उसी दिन बनाया गया था जिस दिन प्रदान की गई थी। अन्य दिनांक गणित या विधियाँ अन्य अंतरालों पर लागू होती हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. अज्ञात माता-पिता के साथ उपक्षेत्रों को क्रमबद्ध करें

  2. एक मोंगोडब दस्तावेज़ में सभी सरणी तत्वों को एक निश्चित मूल्य में कैसे बदलें?

  3. नेस्टेड ऑब्जेक्ट सरणियों को क्वेरी करना

  4. MongoDB में इंडेक्स डेटाटाइप का प्रदर्शन प्रभाव?

  5. MongoDB $avg एकत्रीकरण पाइपलाइन ऑपरेटर