MongoDB ObjectId Zaman Damgası ↔ ObjectId Dönüştürücü

Her MongoDB ObjectId'nin oluşturulma anının gömülü bir zaman damgasını içerdiğini biliyor muydunuz?
Mongo kabuğundan, ObjectId'den zaman damgasını almak için getTimestamp() kullanabilirsiniz, ancak bir zaman damgasından ObjectId oluşturmak için yerleşik bir işlev yoktur.
Bu çevrimiçi dönüştürücü, zaman damgasını ObjectId'ye ve geri dönüştürecektir.

ObjectId

(NOT: benzersiz değil, sadece karşılaştırmalar için kullanın, yeni belgeler oluşturmak için değil!)

Mongo kabuğuna yapıştırılacak ObjectId

Time (UTC)

Yıl (4 basamak)
Ay (1 - 12)
Gün (1 - 31)
Saat (0 - 23)
Dakika (0 - 59)
Saniye (0 - 59)
ISO Zaman Damgası

Neden zaman damgasından ObjectId oluşturulur?

2013-11-01'den sonra oluşturulan tüm yorumları bulmak için:

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