MongoDB ObjectId Конвертер Временной метки ↔ ObjectId
Знаете ли вы, что каждый MongoDB ObjectId содержит встроенную временную метку момента его создания?
Из оболочки mongo вы можете использовать getTimestamp() для получения временной метки из ObjectId, но нет встроенной функции для генерации ObjectId из временной метки.
Этот онлайн-конвертер преобразует временную метку в ObjectId и обратно.
ObjectId
(ПРИМЕЧАНИЕ: не уникален, используйте только для сравнений, не для создания новых документов!)
ObjectId для вставки в оболочку mongo
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); };