MongoDB ObjectId Převodník časového razítka ↔ ObjectId

Věděli jste, že každé MongoDB ObjectId obsahuje vložené časové razítko svého času vytvoření?
Z mongo shellu můžete použít getTimestamp() k získání časového razítka z ObjectId, ale neexistuje žádná vestavěná funkce pro generování ObjectId z časového razítka.
Tento online převodník převede časové razítko na ObjectId a zpět.

ObjectId

(POZNÁMKA: není unikátní, používejte pouze pro porovnání, ne pro vytváření nových dokumentů!)

ObjectId pro vložení do mongo shellu

Time (UTC)

Rok (4 číslice)
Měsíc (1 - 12)
Den (1 - 31)
Hodina (0 - 23)
Minuta (0 - 59)
Sekunda (0 - 59)
ISO časové razítko

Proč generovat ObjectId z časového razítka?

Pro nalezení všech komentářů vytvořených po 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);
};