【问题标题】:Can hook beforeUpdate/afterUpdate modify the value?可以挂钩 beforeUpdate/afterUpdate 修改值吗?
【发布时间】:2019-02-16 00:06:53
【问题描述】:

我有模型调用“点”,我想在每次操作更新时更新“已更新”字段。所以,我做了钩子 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();
}

【问题讨论】:

  • 你调用什么方法来更新实例?保存,更新属性?
  • 我使用“Postman”(chrome-extension)PUT point/:id 并在我的 point 模型中创建 beforeUpdate 钩子。

标签: strongloop loopbackjs


【解决方案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();
  }
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 2011-05-31
    相关资源
    最近更新 更多