export const editProfile = (req,res) => { try{ userModel.find({username:req.body.username},(err,user)=>{ if (user.length !== 0) { if (typeof(req.body.nusername) === "undefined"){ console.log("error") }else{ const filter = {new:true} const opts = { new: true }; console.log(filter) userModel.findOneAndUpdate({ username: req.body.username }, { $set: { username:req.body.nusername} }, opts) const token = jwt.sign({username:req.body.nusername,password:user.password,email:user.email,bio:user.bio,profileImg:user.profileImg},"Secret123") res.status(208).json({token:token}) } } }) }catch(err){ } }no está actualizando al usuario en mi base de datos mongodb. No sé qué estoy haciendo mal. ¿Hay algo en el código que esté haciendo mal?
¡Necesitas usar async await!
export const editProfile = (req,res) => { try{ await userModel.find({username:req.body.username},async (err,user)=>{ if (user.length !== 0) { if (typeof(req.body.nusername) === "undefined"){ console.log("error") }else{ const filter = {new:true} const opts = { new: true }; console.log(filter) await userModel.findOneAndUpdate({ username: req.body.username }, { $set: { username:req.body.nusername} }, opts) const token = jwt.sign({username:req.body.nusername,password:user.password,email:user.email,bio:user.bio,profileImg:user.profileImg},"Secret123") res.status(208).json({token:token}) } } }) }catch(err){ } }