উত্তর:
সর্বোত্তম উপায় হ'ল দেশীয় জাভাস্ক্রিপ্টের তারিখ অবজেক্টগুলি সঞ্চয় করা , যা BSON নেটিভ তারিখের অবজেক্টগুলিতে মানচিত্র করে ।
> db.test.insert({date: ISODate()})
> db.test.insert({date: new Date()})
> db.test.find()
{ "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:42.389Z") }
{ "_id" : ObjectId("..."), "date" : ISODate("2014-02-10T10:50:57.240Z") }
নেটিভ টাইপ বাক্সের বাইরে কার্যকর পদ্ধতিগুলির পুরো পরিসর সমর্থন করে , যা আপনি আপনার মানচিত্র-হ্রাস কাজগুলিতে ব্যবহার করতে পারেন, উদাহরণস্বরূপ।
আপনার যদি প্রয়োজন হয় তবে আপনি যথাক্রমে পদ্ধতি এবং Date
নির্মাতা ব্যবহার করে যথাক্রমে ইউনিক্স টাইমস্ট্যাম্পগুলি 1) এবং এ থেকে অবজেক্টগুলিকে রূপান্তর করতে পারেন ।getTime()
Date(milliseconds)
1) কড়া কথায় বলতে গেলে ইউনিক্স টাইমস্ট্যাম্পটি সেকেন্ডে পরিমাপ করা হয় । জাভাস্ক্রিপ্টের তারিখ অবজেক্টটি ইউনিক্সের যুগ থেকে মিলিসেকেন্ডে পরিমাপ করে ।
389
এবং 240
টাইমস্ট্যাম্পের মিলি সেকেন্ডগুলি । Z
মধ্যে স্ট্রিং বিন্যাস MongoDB বলে যে টাইমস্ট্যাম্প আপনার দেওয়া ইউটিসি হয়। এরপরে যদি আপনি এটি আবার পড়ে থাকেন তবে আপনার অ্যাপ্লিকেশন সম্ভবত এটিকে আপনার স্থানীয় সময় অঞ্চলে রূপান্তর করবে , দেখে মনে হচ্ছে সময় বদলেছে। তবে সময়টি এখনও একইরকম, এটি কেবল ভিন্ন টাইমজোন দৃষ্টিকোণ থেকে ব্যাখ্যা করা। উদাহরণস্বরূপ 12:50:42Z
এবং 13:50:42+01:00
সময় একই মুহূর্ত উপস্থাপন।
21:56:03+01:00
এখনই সিইটিতে থাকে এবং আপনি সন্নিবেশ করান new Date()
, তবে মঙ্গোডিবি এটি হিসাবে উপস্থাপন করতে পারে 20:56:03Z
। তবে আপনি যখন এটি আবার পড়েন এবং স্থানীয় সময় অঞ্চল সেটিংস (সিইটি) ব্যবহার করে আপনার অ্যাপ্লিকেশনটিতে এটি প্রদর্শন করেন, এটি 21:56:03
আবার পড়বে ।
সুতরাং যদি সন্নিবেশের সময়টি আপনার প্রয়োজন মতো হয় তবে এটি ইতিমধ্যে রয়েছে:
Mongodb শেল লগইন করুন
ubuntu@ip-10-0-1-223:~$ mongo 10.0.1.223
MongoDB shell version: 2.4.9
connecting to: 10.0.1.223/test
আইটেম সন্নিবেশ করে আপনার ডাটাবেস তৈরি করুন
> db.penguins.insert({"penguin": "skipper"})
> db.penguins.insert({"penguin": "kowalski"})
>
সেই ডাটাবেসটিকে এখনই আমরা তৈরি করি Le
> use penguins
switched to db penguins
সারিগুলি ফিরে পান:
> db.penguins.find()
{ "_id" : ObjectId("5498da1bf83a61f58ef6c6d5"), "penguin" : "skipper" }
{ "_id" : ObjectId("5498da28f83a61f58ef6c6d6"), "penguin" : "kowalski" }
প্রতিটি সারিটি yyyy-MM-dd HH: মিমি: এসএস ফর্ম্যাটে পান:
> db.penguins.find().forEach(function (doc){ d = doc._id.getTimestamp(); print(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate() + " " + d.getHours() + ":" + d.getMinutes() + ":" + d.getSeconds()) })
2014-12-23 3:4:41
2014-12-23 3:4:53
যদি সেই শেষ ওয়ান-লাইনার আপনাকে বিভ্রান্ত করে তবে এখানে কীভাবে কাজ করে তা সম্পর্কে আমার কাছে ওয়াকথ্রু রয়েছে: https://stackoverflow.com/a/27613766/445131
_id
?
_id.getTimestamp()
।