MongoDB ObjectId مبدل مهر زمانی ↔ ObjectId

آیا می‌دانستید که هر ObjectId در MongoDB حاوی یک مهر زمانی داخلی از زمان ایجاد آن است؟
از پوسته mongo، می‌توانید از getTimestamp() برای بازیابی مهر زمانی از ObjectId استفاده کنید، اما تابع داخلی برای تولید ObjectId از مهر زمانی وجود ندارد.
این مبدل آنلاین مهر زمانی را به ObjectId و برعکس تبدیل می‌کند.

ObjectId

(توجه: منحصر به فرد نیست، فقط برای مقایسه استفاده کنید، نه برای ایجاد اسناد جدید!)

ObjectId برای چسباندن در پوسته mongo

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);
};