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) . के माध्यम से बनाया है