簡體   English   中英

如何使用 node.js 更新 object 中的值並續集

[英]How can I update value in object with node.js and sequelize

我想更新 object 中的值(missions.status 和mission.success),但我不知道如何處理它。

 "missions": { "missions": [ { "week": 1, "status": "", "mission": "do something", "success": "" } ] }

我試着喜歡這個。

 //success.js router.put('/:id/result', async (req, res, next) => { const status = req.body.missions.missions[0].status; const success = req.body.missions.missions[0].success; try { const result = await models.User.findOne({ attribute: ['missions'], where: { id: req.params.id, }, }); const data = { result: result, }; let originalData = data.result.dataValues.missions.missions[0]; let weekdata = { status: status, success: success }; let resultData = Object.assign(originalData, weekdata); res.send({ data: resultData, message: 'good status changed', }); } catch (error) { console.log(error); res.sendStatus(400); } });

它是 req.body 和響應,看起來可以工作,但不會在數據庫中更新。 我不知道如何保存它。

 //req.body { "missions": { "missions":[ { "status": "no", "success":"success" } ] } } // res.send { "data": { "week": 1, "status": "no", "mission": "do something", "success": "success" }, "message": "good status changed" }

您沒有為您的 model 調用更新,這就是為什么您不會在數據庫中獲得任何更改。 嘗試這個:

await models.User.update(weekdata, {
      where: {
        id: req.params.id,
      },
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM