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

डेटटाइम ऑब्जेक्ट और YYYY-MM-DD स्ट्रिंग के बीच MongoDB अंतर

यदि आप अपने आवेदन में समय-क्षेत्र के समर्थन की परवाह नहीं करते हैं, तो MongoDB में बुनियादी प्रश्नों के लिए स्ट्रिंग्स का उपयोग करना ठीक काम करना चाहिए (लेकिन अगर इससे कोई फर्क पड़ता है, तो आप एक वास्तविक Date चाहते हैं। टाइप करें)।

हालांकि, यदि आप बाद में दिनांक गणित करना चाहते हैं या अपने दिनांक फ़ील्ड के साथ एकत्रीकरण फ्रेमवर्क का उपयोग करना चाहते हैं, तो यह आवश्यक है कि फ़ील्ड वास्तव में एक Date हो टाइप करें:

http://docs.mongodb.org/manual/reference/aggregation/ #डेट-ऑपरेटर

उदाहरण के लिए, आप $dayOfWeek . का उपयोग कर सकते हैं Date पर कार्य करें टाइप किया गया फ़ील्ड।

आप संभवत:$substr . का उपयोग करके वर्ष दर वर्ष समूह जैसी कुछ सरल चीजें कर सकते हैं (doc ) MongoDB में, लेकिन परिणामी कोड उतना स्पष्ट नहीं होगा (न ही संभवतः प्रदर्शन भी करेगा)।

हालांकि यह बहुत बड़ा अंतर नहीं है, मैं उन्हें Date . के रूप में संग्रहीत करने की अनुशंसा करता हूं आम तौर पर यदि संभव हो तो टाइप करें।

मुझे दस्तावेज़ों में दिखाई देता है पर्ल ड्राइवर के लिए कि डेवलपर्स को DateTime . का उपयोग करने के खिलाफ चेतावनी दी गई है इस तथ्य के कारण कि यह बहुत धीमा है, इसलिए हो सकता है कि यदि आप नियमित रूप से पर्ल का उपयोग करते हैं, और एकत्रीकरण फ्रेमवर्क कोई बड़ा मुद्दा नहीं है, तो आप उन्हें संख्याओं या तारों के रूप में संग्रहीत करने और आवश्यकतानुसार उन्हें परिवर्तित करने से बेहतर होंगे। पर्ल।

यदि स्थान एक समस्या है, तो अनावश्यक वर्णों को हटा दें (जैसे - ):

20130613 -> 
    4 bytes for length of string 
    8 bytes encoded as UTF-8
    NULL character

वह 13 अक्षर होगा। बीएसओएन में दिनांक समय मान /MongoDB को दूसरी ओर 8 बाइट्स की आवश्यकता होती है (जैसा कि पर्ल $time . करेगा) समारोह)।

(मैं दृढ़ता से अनुशंसा करता हूं कि आप यह पता लगाने के लिए कुछ प्रदर्शन परीक्षण करें कि Date का उपयोग करने का प्रदर्शन प्रभाव है या नहीं पर्ल के साथ MongoDB में टाइप करने से आपके सामान्य कार्यप्रवाह प्रभावित होंगे।)



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB एकत्रीकरण फ्रेमवर्क - गतिशील क्षेत्र का नाम बदलें

  2. MongoDB में इनर जॉइनिंग कैसे करें?

  3. जावा:मोंगोडीबी में हैशपैप कैसे डालें?

  4. MongoDB/नेवला एक विशिष्ट तिथि पर पूछताछ?

  5. क्या एक नेवला मॉडल नया होने पर ऑब्जेक्ट आईडी को स्वतः उत्पन्न करने का कोई तरीका है?