为了账号安全,请及时绑定邮箱和手机立即绑定

Sequelize 不更新表中的行

Sequelize 不更新表中的行

一只名叫tom的猫 2022-11-11 13:44:05
我是第一次使用续集。feed我的数据库中有一个名为的表,其中包含ID、caption和url. 在我的控制器中,我有一个简单的功能,我正在更新表中的一行:router.patch('/:id',     requireAuth,     async (req: Request, res: Response) => {        let { id } = req.params;        const item =  await FeedItem.update({ ...req.body }, {            where: {              id: id            }        });        if (item === null) {            return res.status(404).send({ message: 'Feed not found' });        }        res.send(item);});我正在发送如下所示的 json 正文:{    "caption": "NewTest",    "url": "Newtest.jpg"}我看到数据在控制台中正确发送,但是当我发布到 id 为 2 的端点时,我得到了响应:[    1]我还可以在数据库中看到该行尚未更新。我在这里做错了什么,如何更新表中的一行并返回新的更新值?
查看完整描述

1 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

FeedItem.update方法返回受影响的行数。这就是为什么你得到1. 如果您需要FeedItem实例本身,您可以先检索它并更新实例:


let feedItem = await FeedItem.findById(id);

if (!feedItem) {

   return res.status(404).send({ message: 'Feed not found' });

}

feedItem = await feedItem.updateAttributes(req.body);


return res.send(feedItem);


查看完整回答
反对 回复 2022-11-11
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信