部分更新数据时,数据不会持续存在。例如,我调用以下内容(数据是对象):
account.updateAttributes(data).then(function(updated) {
res.send(updated);
return next();
})['catch'](function(err) {
log.error(err);
return next(new restify.InternalError(err.message));
});
答案 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
方法显式设置对象属性而引起的。通过删除它,我能够更新该字段。