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

सेवा लोकेटर पैटर्न के साथ उपयोग किए जाने पर MongoDB डेटटाइम को कैसे संग्रहीत करता है, इससे निपटना

आप डीबी में पहली जगह यूटीसी क्यों नहीं जमा कर रहे हैं? ज्यादातर मामलों में, DateTime यूटीसी में संग्रहित किया जाना चाहिए, क्योंकि यह आमतौर पर एक बिंदु को संदर्भित करता है। यह किसी भी चीज़ के लिए सच है जो भौतिक अर्थों में समय को संदर्भित करता है, और जो कुछ भी मानता है कि समय एकरस, बढ़ता और अद्वितीय है, इनमें से कोई भी अधिकांश स्थानीय समय के लिए सत्य नहीं है।

कभी-कभी, स्थानीय समय का उपयोग करना समझ में आता है:मान लीजिए कि हर दिन सुबह 9 बजे एक बस निकलती है। इसका मतलब है कि लगातार दो घटनाओं के बीच 24 घंटे गुजरते हैं। हालांकि, यदि समय क्षेत्र में डीएसटी है, तो यह वर्ष में एक बार क्रमशः 23 घंटे, 25 घंटे का अंतराल होगा।

हालांकि, यदि आपको इस प्रकार के डेटा में फेरबदल करने की आवश्यकता है, तो एक साधारण DateTime चाल नहीं चलता; DST नियम बदल सकते हैं, समय क्षेत्र बदल सकते हैं, आदि। C# में, जो DST नियम लागू होंगे, वे वर्तमान में हैं। मान्य है, भले ही तारीख 'ऐतिहासिक' हो। ऐतिहासिक तिथियों के साथ तिथि अंकगणित इस प्रकार कहर बरपा सकता है। अगर आपको वास्तव में इससे निपटने की ज़रूरत है, तो कम से कम, आपको जो . स्टोर करना चाहिए समय क्षेत्र में समय है (न केवल ऑफ़सेट, या यहां तक ​​कि केवल एक isLocal झंडा)।

डेटाबेस में पाठ्य जानकारी संग्रहीत करना जिसे बाइनरी संग्रहीत किया जा सकता है, मेरे लिए बहुत ही सुरुचिपूर्ण नहीं लगता है, न ही कुछ मध्य परत में मान बदलता है। पहला अक्षम है और स्थानीय समय की पहले बताई गई विशिष्टताओं से ग्रस्त है, बाद वाले के पास केवल दूसरी समस्या है।

BTW, बाद वाले को पूरा करने के लिए, आप संपत्ति को [BsonDateTimeOptions(Kind=DateTimeKind.Local)] से सजा सकते हैं , जो आपके लिए रूपांतरण करेगा, लेकिन निश्चित रूप से उन्हीं समस्याओं से ग्रस्त है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. update_attributes हमेशा सही होता है, भले ही Nested_attributes मान्य न हों

  2. WiredTiger.turtle अनुमतियों के कारण Mongodb प्रारंभ नहीं हो सकता

  3. उप-दस्तावेज़ सरणी के लिए मोंगो _id

  4. MongoDB में ऑब्जेक्ट या स्ट्रिंग के रूप में _Id स्टोर करें?

  5. मोंगोडब में किसी फ़ील्ड में ऑब्जेक्ट सरणी से आंशिक वस्तुओं को कैसे पुनर्प्राप्त करें?