MongoDB ObjectId Aikaleima ↔ ObjectId -muunnin

Tiesitkö, että jokainen MongoDB ObjectId sisältää sisäänrakennetun aikaleiman sen luontiajasta?
Mongo-shellissä voit käyttää getTimestamp()-funktiota aikaleiman hakemiseen ObjectId:stä, mutta sisäänrakennettua funktiota ObjectId:n luomiseen aikaleimasta ei ole.
Tämä online-muunnin muuntaa aikaleiman ObjectId:ksi ja takaisin.

ObjectId

(HUOM: ei ole yksilöllinen, käytä vain vertailuihin, älä uusien dokumenttien luomiseen!)

ObjectId liitettäväksi mongo-shelliin

Time (UTC)

Vuosi (4 numeroa)
Kuukausi (1 - 12)
Päivä (1 - 31)
Tunti (0 - 23)
Minuutti (0 - 59)
Sekunti (0 - 59)
ISO-aikaleima

Miksi luoda ObjectId aikaleimasta?

Löytääksesi kaikki 2013-11-01 jälkeen luodut kommentit:

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