可以挂钩beforeUpdate / afterUpdate修改值吗?

时间:2014-07-02 04:34:01

标签: strongloop loopbackjs

我有模型通话"指向",我想更新字段"更新"在每个动作更新中的点。所以,我使用hook boforeUpdate来修改更新的新Date()。结果回调是真的,更新的fied是一个新的日期时间。但是没有在db上更新,该字段仍然是旧日期时间。 我的代码:

var app = require('../../../server.js'),
point = app.models.point;

point.beforeUpdate = function(next) {
  var app = this;
  app.updated = new Date();
  next();
}

1 个答案:

答案 0 :(得分:1)

beforeUpdate回调有两个参数:一个回调(在你的例子中是next)和一个对象(你的点实例)

var app = require('../../../server.js'),
point = app.models.point;

point.beforeUpdate = function(next, pt) {
  pt.updated = new Date();
  next();
}

假设您的代码位于app/models/point.js,则可以简化为:

module.exports = function(Point) {
  Point.beforeUpdate = function(next, point) {
    point.updated = new Date();
    next();
  }
};