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

मोंगो और सी # के साथ डेटाटाइम मुद्दे

इसका कारण यह है कि बीएसओएन डेटटाइम प्रारूप .NET डेटटाइम मान से कम सटीकता के साथ मूल्यों को संग्रहीत करता है, इसलिए जब आप इसे डेटाबेस से वापस पढ़ते हैं तो मान छोटा कर दिया गया है।

यदि आपका डेटटाइम मान एक सी # वर्ग की संपत्ति है जिसे आप क्रमबद्ध कर रहे हैं तो आप सीरियलाइज़र को डेटटाइम मान को एक एम्बेडेड दस्तावेज़ के रूप में क्रमबद्ध करने के लिए कह सकते हैं जिसमें बीएसओएन डेटटाइम मान (छोटा हुआ) और मूल .NET डेटटाइम मान (टिक्स के रूप में संग्रहीत) दोनों शामिल हैं। उस स्थिति में deserialized होने पर मान को छोटा नहीं किया जाएगा।

उदाहरण के लिए:

public class MyClass {
    public ObjectId Id;
    [BsonRepresentation(BsonType.Document)]
    public DateTime MyDateTime;
}

आप Int64 या String के BsonRepresentation का भी उपयोग कर सकते हैं और सटीकता नहीं खो सकते हैं, लेकिन फिर संग्रहीत दस्तावेज़ केवल का उपयोग कर सकते हैं इसमें टिक या एक स्ट्रिंग प्रतिनिधित्व है और कोई बीएसओएन डेटटाइम नहीं है, जिससे डेटटाइम से संबंधित प्रश्नों को करना मुश्किल हो जाता है।

आप यह भी ध्यान रखना चाहेंगे कि डेटटाइम मान यूटीसी में डेटाबेस में संग्रहीत हैं। भंडारण के लिए हमेशा UTC मानों का उपयोग करना और उपयोगकर्ता को उन्हें प्रदर्शित करते समय केवल स्थानीय समय का उपयोग करना सबसे अच्छा अभ्यास है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Azure पर उच्च प्रदर्शन MongoDB क्लस्टर

  2. प्राथमिक-माध्यमिक मोंगो डीबी सेट में यदि आप गलती से माध्यमिक को लिखते हैं तो क्या यह प्राथमिक में प्रतिबिंबित होगा, यह प्राथमिक रूप से रूट हो जाता है

  3. मोंगोडब दस्तावेज़ में स्थान डेटा संग्रहीत करें

  4. कई डेटा स्रोतों के साथ उपयोग के लिए स्प्रिंग डेटा रिपॉजिटरी बीन नामों को अनुकूलित करना

  5. ऑब्जेक्ट आईडी की सरणी के साथ नेवला स्कीमा कैसे बनाएं?