MongoDB ObjectId ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ↔ ObjectId ಪರಿವರ್ತಕ

ಪ್ರತಿ MongoDB ObjectId ಅದರ ರಚನೆಯ ಸಮಯದ ಅಂತರ್ನಿರ್ಮಿತ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಅನ್ನು ಹೊಂದಿದೆ ಎಂದು ನಿಮಗೆ ತಿಳಿದಿದೆಯೇ?
ಮಾಂಗೋ ಶೆಲ್‌ನಿಂದ, ObjectId ನಿಂದ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಅನ್ನು ಪಡೆಯಲು ನೀವು getTimestamp() ಅನ್ನು ಬಳಸಬಹುದು, ಆದರೆ ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ನಿಂದ ObjectId ಅನ್ನು ರಚಿಸಲು ಯಾವುದೇ ಅಂತರ್ನಿರ್ಮಿತ ಕಾರ್ಯವಿಲ್ಲ.
ಈ ಆನ್‌ಲೈನ್ ಪರಿವರ್ತಕವು ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್ ಅನ್ನು ObjectId ಗೆ ಮತ್ತು ಹಿಂದಕ್ಕೆ ಪರಿವರ್ತಿಸುತ್ತದೆ.

ObjectId

(ಗಮನಿಸಿ: ಅದ್ವಿತೀಯವಲ್ಲ, ಹೋಲಿಕೆಗಳಿಗೆ ಮಾತ್ರ ಬಳಸಿ, ಹೊಸ ದಾಖಲೆಗಳನ್ನು ರಚಿಸಲು ಅಲ್ಲ!)

ಮಾಂಗೋ ಶೆಲ್‌ನಲ್ಲಿ ಅಂಟಿಸಲು ObjectId

Time (UTC)

ವರ್ಷ (4 ಅಂಕಿಗಳು)
ತಿಂಗಳು (1 - 12)
ದಿನ (1 - 31)
ಗಂಟೆ (0 - 23)
ನಿಮಿಷ (0 - 59)
ಸೆಕೆಂಡು (0 - 59)
ISO ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್

ಟೈಮ್‌ಸ್ಟ್ಯಾಂಪ್‌ನಿಂದ ObjectId ಅನ್ನು ಏಕೆ ರಚಿಸಬೇಕು?

2013-11-01 ನಂತರ ರಚಿಸಲಾದ ಎಲ್ಲಾ ಕಾಮೆಂಟ್‌ಗಳನ್ನು ಹುಡುಕಲು:

db.comments.find({_id: {$gt: ObjectId("5272e0f00000000000000000")}})

Javascript functions

var objectIdFromDate = function (date) {
    return Math.floor(date.getTime() / 1000).toString(16) + "0000000000000000";
};
            
var dateFromObjectId = function (objectId) {
    return new Date(parseInt(objectId.substring(0, 8), 16) * 1000);
};