环回 - 在“保存后”挂钩中覆盖之前查看数据

时间:2017-04-07 16:32:04

标签: javascript node.js loopbackjs loopback

我见过这个问题:Strongloop : Compare old model with the new instance in operation hook 'before save'

SELECT D.numOperador, ( cast ( SUM(DATEDIFF(MINUTE, D.FechaSalida, D.FechaLlegada)) / 60 as varchar) + cast ( SUM(DATEDIFF(MINUTE, D.FechaSalida, D.FechaLlegada)) % 60 AS varchar ) ) as time FROM trkOperadores O INNER JOIN trfDespacho D ON O.NumOperador = D.numOperador WHERE O.cveTipoOperador = 2 AND O.NumOperador = 900200 AND D.FechaSalida>='2017-03-10 00:00:00.000' AND D.FechaLlegada<='2017-03-11 00:00:00.000' GROUP BY D.NumOperador; GO] 挂钩中完成覆盖之前,有没有办法在数据库中获取数据?基本上,我希望能够在before save请求中传递一个元素进行更新,而不是在请求期间传递所有put字段。

1 个答案:

答案 0 :(得分:1)

看起来你正在寻找upsertWithWhere或upsert,它执行PATCH而不是PUT。如果您这样做并且可以识别右侧行(您沿主ID发送或识别行),则只会更新/覆盖传递的数据,其余的将保留。

这是一种简单的方法,如果你想做更高级的事情(比如在保存之前在数据库上进行修改),那么你只需要在之前的保存钩子中修改模型并进行修改。请记住,只要您推迟“next()”呼叫,您就可以在保存之前执行任何操作。