#reactjs #mongodb #express
#реагирует на #mongodb #экспресс
Вопрос:
это и есть маршрут:
router.post( '/', [ auth, check('status', 'Status is required').not().isEmpty(), check('skills', 'Skills is required').not().isEmpty(), ], async (req, res) =gt; { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } // destructure the request const { website, skills, youtube, twitter, instagram, linkedin, facebook, // spread the rest of the fields we don't need to check ...rest } = req.body; // build a profile const profileFields = { user: req.user.id, website: website amp;amp; website !== '' ? normalize(website, { forceHttps: true }) : '', skills: Array.isArray(skills) ? skills : skills.split(',').map((skill) =gt; ' ' skill.trim()), ...rest }; // Build socialFields object const socialFields = { youtube, twitter, instagram, linkedin, facebook }; // normalize social fields to ensure valid url for (const [key, value] of Object.entries(socialFields)) { if (value amp;amp; value.length gt; 0) socialFields[key] = normalize(value, { forceHttps: true }); } // add to profileFields profileFields.social = socialFields; try { // Using upsert option (creates new doc if no match is found): let profile = await Profile.findOneAndUpdate( { user: req.user.id }, { $set: profileFields }, { new: true, upsert: true, setDefaultsOnInsert: true } ); return res.json(profile); } catch (err) { console.error(err.message); return res.status(500).send('Server Error'); } } );
это Аксиос:
axios.post('/api/profile',profileData, {headers:{ 'x-auth-token': localStorage.getItem('jwtToken') }}).then(data =gt; console.log(data)).catch(e =gt; console.error(e))
это проблема: рассматриваемый
Ответ №1:
Вы пробовали использовать отладчик для отслеживания потока программного обеспечения? У вас есть какой-нибудь журнал со стороны экспресса? Я бы начал проверять, let profile = await Profile.findOneAndUpdate
достигнуто ли это, чтобы определить, начинается ли проблема с запросом бд. На этом этапе я бы сказал, что выполнение находится в ожидании ожидания тайм-аута бд