保存后环回更新模型

via*_*iam 4 node.js strongloop loopbackjs

我想在“保存后”钩子中更新最后插入/更新的文档(行)而不创建这样的新实例:

Model.observe('after save', function (ctx, next) {
    ctx.someProperty = 'Foo';
    ctx.update();
});
Run Code Online (Sandbox Code Playgroud)

怎么可能?

Mic*_*ley 5

我不确定您所说的“更新”模型是什么意思。据我所知,update()泛型模型类没有函数。如果您正在寻找updateAttribute有关该功能的文档,请点击此处

但是,假设您的问题只是“如何访问环回挂钩内的观察模型?” 那么答案是该实例存储在ctx.instance而不是作为ctx变量本身返回。请参阅此处的示例。

例如

Model.observe('after save', function (ctx, next) {
    ctx.instance.updateAttributes({someProperty: 'Foo'})
});
Run Code Online (Sandbox Code Playgroud)

如果您可以更详细地描述您尝试使用该update()功能实现的功能,我将尝试解决该问题。另请注意,上面的代码可能会导致无限循环- 因为 updateAttribute 调用本身会触发“保存后”挂钩 - 这是我不太确定您真正要问什么的另一个原因。