【问题标题】:Update record using sequelize(mysql) + nodejs使用 sequelize(mysql) + nodejs 更新记录
【发布时间】:2018-06-02 19:33:30
【问题描述】:

我的表名:TIME

我的表格数据字段:

开始:上午 10 点 停止:空

现在我想将 null 更新为当前日期

exports.updateGroup = function (req, res) {
    Time.update(req.body, {
        stop: new Date(),
        where: {
            id: req.body.id
        }
    }).then(data => {
        return res.status(200).send(data);
    }).catch(Sequelize.ValidationError, err => {
        return res.status(422).send(err.errors[0].message);
    }).catch(err => {
        return res.status(400).send(err.message);
    });
};

现在更新后显示为null

我的 req.body: { mainId: 1, start: '', stop: '' }

my Time model :

 var Time = sequelize.define('time', {
             start: Sequelize.DATE,
             stop: Sequelize.DATE,

     });

【问题讨论】:

  • 返回什么状态?向我们展示您的 sequelize TIME 模型和您的 req.body 键值。
  • 我的时间模型:var Time = sequelize.define('time', { start: Sequelize.DATE, stop: Sequelize.DATE, });
  • 查看我的更新答案

标签: mysql angularjs node.js sequelize.js


【解决方案1】:

首先,您传递了错误的 id,因为没有基于您发布的正文格式的 req.body.id 属性。

其次,update 方法获取两个在 official sequelize documentation 中引用的参数。

这应该可行:

Time.update({
    start: req.body.start,
    stop: req.body.stop
}, {
    where: {
        id: req.body.mainId
    }
})

【讨论】:

    猜你喜欢
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 2022-11-28
    • 2019-06-11
    相关资源
    最近更新 更多