MongoDB ObjectId කාල මුද්රාව ↔ ObjectId පරිවර්තකය

සෑම MongoDB ObjectId එකක්ම එහි නිර්මාණය වූ මොහොතේ කාල මුද්රාවක් අඩංගු බව ඔබ දන්නවාද?
මොංගෝ ෂෙල් එකෙන්, ඔබට getTimestamp() භාවිතා කර ObjectId වෙතින් කාල මුද්රාව ලබා ගත හැකිය, නමුත් කාල මුද්රාවකින් 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);
};