ObjectId
. से समय निकालना आसान है ... हालांकि आपको एमएस सटीक नहीं मिलता है।
org.bson.types.ObjectId
इसमें 2 तरीके हैं जिनका आप इस पर उपयोग कर सकते हैं:getTimeSecond()
और getTime()
(`getTimeSecond() * 1000L
. के समान) ) ये आपके यूनिक्स टाइमस्टैम्प प्राप्त करेंगे।
मैंने स्प्रिंग के साथ MongoDB का उपयोग नहीं किया है - लेकिन यदि आप वास्तविक ObjectId
पर अपना हाथ पा सकते हैं उदाहरण के लिए, यह उपरोक्त विधियों में से किसी एक को कॉल करने जितना आसान है।
अब - एक समय सीमा में दस्तावेज़ों के लिए क्वेरी करने के लिए आपको पीछे की ओर जाना होगा और ObjectId
. बनाना होगा टाइमस्टैम्प पर आधारित वस्तुएं। फिर से - यह आसान है - ObjectId
एक कंस्ट्रक्टर आपके लिए यह कर सकता है:
ObjectId(Date time)
तो - 2 ObjectId
create बनाएं उदाहरण जो आपकी न्यूनतम और अधिकतम समय सीमा का प्रतिनिधित्व करते हैं, फिर एक प्रश्न करें जैसे:
db.collection.find({ "field" : { $gt: value1, $lt: value2 } } );
जहां value1
और value2
ObjectId
. का प्रतिनिधित्व करते हैं उदाहरण आपने ObjectId(Date time)
. के माध्यम से बनाया है