MongoDB ObjectId Конвертер Часової мітки ↔ ObjectId

Чи знаєте ви, що кожен MongoDB ObjectId містить вбудовану часову мітку моменту його створення?
З оболонки 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);
};