मुझे नेवले के साथ एक अजीब समस्या हो रही है जहाँ मैं विशेष रूप से एक मॉडल की चाबियों का उपयोग करना चाहता हूं।

export const exportUsers = async () => {
    const users = await User.find();
    const headers = ["firstName","lastName"]

    users.forEach((user) => {
        console.log(user);
        // this shows:
        // {
        //    firstName: "zac",
        //    lastName: "taylor"
        // }

        console.log(user.firstName); // undefined; nothing
        
        // if i log the keys for the user:
        console.log(Object.keys(user));

        // i get this weird stuff:
        // [
        //   '$parent',
        //   '$isSingleNested',
        //   '$__',
        //   'isNew',
        //   'errors',
        //   '$locals',
        //   '$op',
        //   '_doc',
        //   '$init'
        // ]

    })

    return csvify.create(exportData, headers, 'Users-List.csv');
}

लेकिन पूरे मॉडल को लॉग करना दिखाता है कि यह वहां है, लेकिन Object.keys के साथ यह वहां नहीं है...

मैं सीधे user.firstName तक कैसे पहुंच सकता हूं?

0
Zac 11 नवम्बर 2020, 21:34

1 उत्तर

सबसे बढ़िया उत्तर

ऐसा इसलिए है क्योंकि आपको केवल JSON डेटा नहीं, बल्कि Mongoose ऑब्जेक्ट मिल रहे हैं।

यदि आप केवल शुद्ध JSON डेटा चाहते हैं, तो लीन () का उपयोग करें:

 const users = await User.find().lean();
1
Jeremy Thille 11 नवम्बर 2020, 18:40