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

मोंगोमैपर और रूबी/रेल में दिनांक को यूटीसी में कैसे परिवर्तित करें?

मुझे यह उत्तर सिएटल ब्रिगेड समूह से मिला -

===

मैंने आपके कोड में MongoMapper में एक कुंजी के रूप में परिभाषित start_date नहीं देखा, इसलिए मैं मान लूंगा कि आप अपनी खुद की डेट ऑब्जेक्ट बना रहे हैं, या तो सीधे रूबी के माध्यम से, या रेल द्वारा लिपटे हुए। जहां तक ​​​​मुझे पता है, और किसी ने मुझे सही किया है, मोंगोस्टोर्स युग के बाद से मिलीसेकंड में यूटीसी समय के रूप में है। इसलिए जब आप akey को MongoMapper में :date मैपिंग के साथ परिभाषित करते हैं, तो आप रूबी में टाइम ऑब्जेक्ट लपेट रहे होते हैं।

इसलिए, यदि आप मोंगो के अंदर एक तिथि संग्रहीत करना चाहते हैं, और इसे मोंगोमैपर द्वारा नहीं बनाया गया था, तो सुनिश्चित करें कि आप यूटीसी में टाइम ऑब्जेक्ट बनाते हैं। मोंगोमैपर एक दिनांक मिश्रण विधि के साथ आता है जिसे to_mongo कहा जाता है जिसका आप उपयोग कर सकते हैं।

>> Time.now.utc
=> Fri Jan 28 03:47:50 UTC 2011
>> require 'date'
=> true
>> date = Date.today
=> #<Date: 4911179/2,0,2299161>
>> Time.utc(date.year, date.month, date.day)
=> Thu Jan 27 00:00:00 UTC 2011
>> require 'rubygems'
=> true
>> require 'mongo_mapper'
=> true
>> Date.to_mongo(date)
=> Thu Jan 27 00:00:00 UTC 2011

लेकिन समय बदलने पर ध्यान दें।

>> Date.to_mongo(Time.now)
=> Thu Jan 27 00:00:00 UTC 2011
>> Date.to_mongo(Time.now.utc)
=> Fri Jan 28 00:00:00 UTC 2011

शुभकामनाएँ।

===

और

. का उपयोग करके
Date.to_mongo(start_date) 

यह मेरे लिए काम करता है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. उप-दस्तावेज़ों के बूलियन मान को टॉगल करें

  2. मोंगोडब दस्तावेजों को एक संग्रह से दूसरे संग्रह में ले जाता है

  3. MongoDB अपने स्थानिक सूचकांक को कैसे लागू करता है?

  4. मोंगो डालने के लिए सही आईएसओडेट बनाने के लिए जोडा-टाइम का उपयोग करना

  5. Mongoimport का उपयोग करके फ़ाइल से mongodb में json आयात करना