Как получить дату создания из идентификатора объекта в мангусте? Я понимаю из ObjectId — MongoDB Manual, что первые 4 байта любого идентификатора объекта mongodb являются меткой создания. Любой хорошо поддерживаемый способ извлечения этой информации из мангуста? Ответ 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()
Ответ 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 );