MongoDB ObjectId Уақыт белгісі ↔ ObjectId түрлендіргіші

Әрбір MongoDB ObjectId өзінің жасалу уақытының кірістірілген уақыт белгісін қамтитынын білдіңіз бе?
Mongo қабығынан ObjectId-дан уақыт белгісін алу үшін getTimestamp() функциясын қолдана аласыз, бірақ уақыт белгісінен ObjectId жасауға арналған кірістірілген функция жоқ.
Бұл онлайн түрлендіргіш уақыт белгісін ObjectId-ға және керісінше түрлендіреді.

ObjectId

(ЕСКЕРТПЕ: бірегей емес, тек салыстыру үшін пайдаланыңыз, жаңа құжаттар жасау үшін емес!)

Mongo қабығына қоюға арналған ObjectId

Time (UTC)

Жыл (4 сан)
Ай (1 - 12)
Күн (1 - 31)
Сағат (0 - 23)
Минут (0 - 59)
Секунд (0 - 59)
ISO уақыт белгісі

Неліктен уақыт белгісінен ObjectId жасау керек?

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