MongoDB ObjectId Tidsstempel ↔ ObjectId Konverter

Vidste du, at hver MongoDB ObjectId indeholder et indlejret tidsstempel for dens oprettelsestidspunkt?
Fra mongo-skallen kan du bruge getTimestamp() til at hente tidsstemplet fra ObjectId, men der er ingen indbygget funktion til at generere en ObjectId fra et tidsstempel.
Denne online konverter vil konvertere tidsstemplet til en ObjectId og tilbage.

ObjectId

(BEMÆRK: ikke unik, brug kun til sammenligninger, ikke til at oprette nye dokumenter!)

ObjectId til indsætning i mongo-skallen

Time (UTC)

År (4 cifre)
Måned (1 - 12)
Dag (1 - 31)
Time (0 - 23)
Minut (0 - 59)
Sekund (0 - 59)
ISO Tidsstempel

Hvorfor generere en ObjectId fra et tidsstempel?

For at finde alle kommentarer oprettet 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);
};