जवाबों:
सबसे अच्छा तरीका देशी जावास्क्रिप्ट दिनांक वस्तुओं को स्टोर करना है , जो बीएसओएन मूल दिनांक वस्तुओं पर मैप करता है ।
> 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
CET में अभी है और आप सम्मिलित करते हैं new Date()
, तो MongoDB इसका प्रतिनिधित्व कर सकता है 20:56:03Z
। लेकिन जब आप इसे वापस पढ़ते हैं और स्थानीय टाइमज़ोन सेटिंग्स (सीईटी) का उपयोग करके इसे अपने आवेदन में प्रदर्शित करते हैं, तो यह 21:56:03
फिर से पढ़ेगा ।
तो अगर डालने का समय वह है जो आपको चाहिए, तो यह पहले से ही है:
मोंगोडब शेल में लॉगिन करें
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"})
>
अब हम जिस डेटाबेस पर हैं, उस डेटाबेस को बनाते हैं
> use penguins
switched to db penguins
पंक्तियों को वापस लें:
> db.penguins.find()
{ "_id" : ObjectId("5498da1bf83a61f58ef6c6d5"), "penguin" : "skipper" }
{ "_id" : ObjectId("5498da28f83a61f58ef6c6d6"), "penguin" : "kowalski" }
Yyyy-MM-dd HH में प्रत्येक पंक्ति प्राप्त करें: mm: ss प्रारूप:
> 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()
।