Ответ 1
Я считаю, что ObjectId имеет метод getTimestamp(); например.
_id.getTimestamp()
Я понимаю из ObjectId — MongoDB Manual, что первые 4 байта любого идентификатора объекта mongodb являются меткой создания.
Любой хорошо поддерживаемый способ извлечения этой информации из мангуста?
Я считаю, что ObjectId имеет метод getTimestamp(); например.
_id.getTimestamp()
Вы можете создать виртуальное "созданное" свойство в схеме mongoose, которое использует _id для получения метки времени создания. Просто добавь:
YourMongooseSchema.virtual('created').get( function () {
if (this["_created"]) return this["_created"];
return this["_created"] = this._id.getTimestamp();
});
Если вы запустите это, вы получите timeStamp
console.log(new mongoose.Types.ObjectId().getTimestamp() );
например.
Fri Nov 16 2012 17:20:14 GMT+0000 (GMT)
var timestamp = document._id.toString().substring(0,8);
var date = new Date( parseInt( timestamp, 16 ) * 1000 );
_id.getTimestamp()
не работает для меня, но
_id.Time()
отлично работает
Для метки времени
_id.getTimestamp()
Для даты в формате ISO
_id.getTimestamp().toISOString()