mongoose / express Не удается прочитать свойство 'unshift' из неопределенного - PullRequest
0 голосов
/ 10 мая 2019

После урока по udemy и наткнулся на эту ошибку. Msgstr "Невозможно прочитать свойство unshift из неопределённого". У меня раньше была эта проблема, но это потому, что я забыл аутентифицировать веб-токен json. На этот раз он прошел проверку подлинности и был проверен буквенно-буквенным кодом и точно такой же. Мы все знаем, что 100% руководств по коду устарели и не содержат информации.

Аут был проверен и подтвержден. поля были проверены и проверены. единственная область, которую я вижу, это то, что у «опыта» нет «конструктора»?

router.put(
    '/experience', 
    [
        auth, 
        [
            check('title', 'Title is required')
                .not()
                .isEmpty(),
            check('company', 'Company is required')
                .not()
                .isEmpty(),
            check('from', 'From date is required')
                .not()
                .isEmpty()
        ]
    ],

async (req, res) => {
        const errors = validationResult(req);
        if (!errors.isEmpty()) {
            return res.status(400).json({errors: errors.array() });
        }


        const {
            title,
            company,
            location,
            from,
            to,
            current,
            description
        } = req.body;


        const newExp = {
            title,
            company,
            location,
            from,
            to,
            current,
            description
        }

        //const experience = [];

        try{
            const profile = await Profile.findOne({ user: req.user.id });

            profile.experience.unshift(newExp);

            await profile.save();

            res.json(profile);

        } catch(err){
            console.error(err.message);
            res.status(500).send('server put exp error')
        }
    }

1 Ответ

0 голосов
/ 13 мая 2019

Я работаю над тем же курсом, моим решением было изменить строку

profile.experience.unshift(newExp);

до

profile.experiences.unshift(newExp);

Вот как это было сохранено в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...