Sequelize.js updateAttributes不保存部分数据

时间:2015-08-18 02:21:01

标签: node.js postgresql sequelize.js

部分更新数据时,数据不会持续存在。例如,我调用以下内容(数据是对象):

account.updateAttributes(data).then(function(updated) {
        res.send(updated);
        return next();

})['catch'](function(err) {
       log.error(err);
           return next(new restify.InternalError(err.message));
});

2 个答案:

答案 0 :(得分:1)

我想你想将更新的数据传递给下一个中间件。但是您使用了res.send(updated)。它终止中间件并返回响应。

您可以使用以下内容传递更新的数据;

account.updateAttributes(data).then(function(updated) {
  req.updatedAccount = updated;
  return next();
})['catch'](function(err) {
  log.error(err);
  return next(new restify.InternalError(err.message));
});

因此,您可以将更新的数据附加到请求对象,并将其与下一个中间件一起发送。您可以将下一个中间件中的数据与req.updatedAccount一起使用。

我希望它有效。

答案 1 :(得分:1)

我发现问题是由于我使用beforeValidate方法显式设置对象属性而引起的。通过删除它,我能够更新该字段。