0

我有模型调用“点”,我想在每次操作更新时更新“更新”字段。所以,我做了钩子 boforeUpdate 来修改用 new Date() 更新。结果回调为真,更新的字段是新的日期时间。但未在 db 上更新,该字段仍然是旧的日期时间。我的代码:

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

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

1 回答 1

1

beforeUpdatecallback 有两个参数:一个回调(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();
  }
};
于 2014-11-20T09:17:21.283 回答