Eftersom vissa av dokumenten skapades när timestamps
alternativet var inställt på false (detta är standardvärdet) mongoose kommer inte att känna till dessa tidsstämplar. Därför item._id.getTimestamp()
kommer att returnera odefinierat.
Vad du kan göra är att återskapa posterna där createdAt
existerar inte. Mongoose kommer då automatiskt att generera tidsstämplarna och ställa in dem till den aktuella tidsstämpeln, om alternativet är aktiverat:
const profilesWithoutCreated = await Profile.find({createdAt: {$exists: false}}).exec();
const timeStampExtract = [];
let newProfile;
for (const profile of profiles) {
newProfile = new Profile(profile);
newProfile.createdAt = profile._id.getTimestamp();
const savedProfile = await newProfile.save();
timeStampExtract.push(savedProfile._id.getTimestamp());
}