Da einige der Dokumente erstellt wurden, als die timestamps
Option auf false gesetzt wurde (dies ist der Standardwert), kennt Mongoose diese Zeitstempel nicht. Daher item._id.getTimestamp()
gibt undefiniert zurück.
Was Sie tun können, ist, die Einträge neu zu erstellen, in denen createdAt
ist nicht vorhanden. Mongoose generiert dann automatisch die Zeitstempel und setzt sie auf den aktuellen Zeitstempel, wenn die Option aktiviert ist:
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());
}