Como alguns dos documentos foram criados quando os
timestamps
a opção foi definida como false (este é o valor padrão) o mangusto não conhecerá esses carimbos de data e hora. Portanto, item._id.getTimestamp()
retornará indefinido. O que você pode fazer é recriar as entradas onde
createdAt
não existe. O Mongoose irá gerar automaticamente os timestamps e defini-los para o timestamp atual, se a opção estiver habilitada: 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());
}