चूंकि कुछ दस्तावेज़ तब बनाए गए थे जब timestamps
विकल्प को गलत पर सेट किया गया था (यह डिफ़ॉल्ट मान है) नेवले को उन टाइमस्टैम्प का पता नहीं चलेगा। इसलिए, item._id.getTimestamp()
अपरिभाषित लौटेगा।
आप क्या कर सकते हैं, उन प्रविष्टियों को फिर से बनाना है जहां createdAt
मौजूद नहीं। विकल्प सक्षम होने पर नेवला स्वचालित रूप से टाइमस्टैम्प उत्पन्न करेगा और उन्हें वर्तमान टाइमस्टैम्प पर सेट कर देगा:
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());
}