Подтвердить что ты не робот

Как получить дату создания из идентификатора объекта в мангусте?

Я понимаю из ObjectId — MongoDB Manual, что первые 4 байта любого идентификатора объекта mongodb являются меткой создания.

Любой хорошо поддерживаемый способ извлечения этой информации из мангуста?

4b9b3361

Ответ 1

Я считаю, что ObjectId имеет метод getTimestamp(); например.

_id.getTimestamp()

Ответ 2

Вы можете создать виртуальное "созданное" свойство в схеме mongoose, которое использует _id для получения метки времени создания. Просто добавь:

YourMongooseSchema.virtual('created').get( function () {
  if (this["_created"]) return this["_created"];
  return this["_created"] = this._id.getTimestamp();
});

Ответ 3

Если вы запустите это, вы получите timeStamp

console.log(new mongoose.Types.ObjectId().getTimestamp() );

например.

Fri Nov 16 2012 17:20:14 GMT+0000 (GMT)

Ответ 4

var timestamp = document._id.toString().substring(0,8);

var date = new Date( parseInt( timestamp, 16 ) * 1000 );

Ответ 5

_id.getTimestamp()

не работает для меня, но

_id.Time()

отлично работает

Ответ 6

Для метки времени

 _id.getTimestamp()

Для даты в формате ISO

_id.getTimestamp().toISOString()