Loopback:在模型钩子中获取模型更改

问题描述:

在模型PUT上,我需要根据其原始值进行自定义验证。 在beforeUpdate模型钩子里面,我可以通过'this'关键字访问'next'函数,'request body'对象(如beforeUpdate参数)并更新模型本身。Loopback:在模型钩子中获取模型更改

有没有办法得到原始模型或其变化,而不从数据库中查询它?

它甚至有可能更新模型钩子内的当前模型(因为更改'this'属性不生效)?

声明:我是一个LoopBack开发人员。

有没有办法得到原始模型或其变化,而不从数据库查询它?

不,这是不可能的。

看一看的updateAttributes()loopback-datasource-juggler/lib/dao.js的代码,这被称为当你请求PUT /models/:id

inst.setAttributes(data); 

inst.isValid(function (valid) { 
    if (!valid) { 
    if (cb) { 
     cb(new ValidationError(inst), inst); 
    } 
    } else { 
    inst.trigger('save', function (saveDone) { 
     inst.trigger('update', function (done) { 
     // etc. 

该模型执行任何挂钩之前更新。

+0

有一个问题。有什么方法可以通过模型钩子访问像accesstoken或userID这样的请求标头? PLease在这里看到的问题 http://*.com/questions/26927791/access-request-headers-from-beforesave-model-hook – 2014-11-17 05:12:58