MongoDB ObjectId Tímastimpill ↔ ObjectId breytir

Vissir þú að hvert MongoDB ObjectId inniheldur innbyggðan tímastimpil frá stofntíma þess?
Frá mongo skel geturðu notað getTimestamp() til að sækja tímastimpilinn úr ObjectId, en það er engin innbyggð aðgerð til að búa til ObjectId úr tímastimpli.
Þessi netbreytir mun breyta tímastimpli í ObjectId og til baka.

ObjectId

(ATHUGIÐ: ekki einstakt, notið aðeins til samanburðar, ekki til að búa til ný skjöl!)

ObjectId til að líma í mongo skel

Time (UTC)

Ár (4 tölustafir)
Mánuður (1 - 12)
Dagur (1 - 31)
Klukkustund (0 - 23)
Mínúta (0 - 59)
Sekúnda (0 - 59)
ISO tímastimpill

Af hverju að búa til ObjectId úr tímastimpli?

Til að finna allar athugasemdir sem búnar voru til eftir 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);
};