MongoDB ObjectId Tidsstämpel ↔ ObjectId-konverterare

Visste du att varje MongoDB ObjectId innehåller en inbäddad tidsstämpel för dess skapelsetidpunkt?
Från mongo-skalet kan du använda getTimestamp() för att hämta tidsstämpeln från ObjectId, men det finns ingen inbyggd funktion för att generera en ObjectId från en tidsstämpel.
Denna online-konverterare kommer att konvertera tidsstämpeln till en ObjectId och tillbaka.

ObjectId

(OBS: inte unikt, använd endast för jämförelser, inte för att skapa nya dokument!)

ObjectId för inklistring i mongo-skalet

Time (UTC)

År (4 siffror)
Månad (1 - 12)
Dag (1 - 31)
Timme (0 - 23)
Minut (0 - 59)
Sekund (0 - 59)
ISO-tidsstämpel

Varför generera ObjectId från en tidsstämpel?

För att hitta alla kommentarer skapade efter 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);
};