MongoDB ObjectId Цаг тэмдэглэгээ ↔ ObjectId хөрвүүлэгч

MongoDB ObjectId бүр өөрийн үүсгэсэн цагийн дарааллын цаг тэмдэглэгээг агуулдаг гэдгийг та мэдэх үү?
Mongo shell-ээс та getTimestamp()-ийг ашиглан ObjectId-ээс цаг тэмдэглэгээг авч болно, гэхдээ цаг тэмдэглэгээнээс ObjectId үүсгэх угаасаа суулгасан функц байхгүй.
Энэ онлайн хөрвүүлэгч нь цаг тэмдэглэгээг ObjectId болгон хөрвүүлж, буцааж хөрвүүлнэ.

ObjectId

(ТЭМДЭГЛЭЛ: давтагдашгүй биш, зөвхөн харьцуулалтад ашиглана уу, шинэ баримт бичиг үүсгэхэд биш!)

Mongo shell-д наах 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);
};