2016-04-02 7 views
2

ich das letzte Mal eingefügt/aktualisiertes Dokument (Zeile) in „nach dem Speichern“ Haken aktualisieren möchten, ohne erstellen neue Instanz, dass wie folgt aus:Loopback-Update-Modell nach speichern

Model.observe('after save', function (ctx, next) { 
    ctx.someProperty = 'Foo'; 
    ctx.update(); 
}); 

Wie ist es möglich?

Antwort

4

Ich bin mir nicht sicher, was Sie meinen, indem Sie ein Modell 'updaten'. Soweit ich weiß, gibt es keine update() Funktion für die generische Modellklasse. Wenn Sie nach updateAttribute suchen, lautet die Dokumentation zu dieser Funktionalität here.

Angenommen, Ihre Frage lautet nur: "Wie greife ich auf das beobachtete Modell innerhalb eines Loopback-Hooks zu?" dann ist die Antwort, dass die Instanz bei ctx.instance gespeichert wird, die als ctx Variable zurückgegeben wird. Siehe die Beispiele here.

z.

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

Wenn Sie genauer beschreiben können die Funktionalität versucht man mit der update() Funktion zu erreichen, werde ich versuchen, diese Frage zu beantworten. Beachten Sie auch, dass der obige Code wahrscheinlich eine Endlosschleife verursachen würde - weil der updateAttribute-Aufruf selbst den Haken nach dem Speichern auslöst - was ein weiterer Grund ist, warum ich nicht so sicher bin, was Sie wirklich fragen.

+0

Ich bearbeite meine Frage. Ja, deine Annahme über meine Frage ist wahr und dein Tipp über Endlosschleife ist auch wahr. ist eine Möglichkeit, den Aufruf des "After-Save" -Triggers zu verhindern, um das Endlos-Loop-Problem zu lösen? – viam

+0

@viam Nun, es ist wahrscheinlich ein Design-Problem. Warum möchten Sie das Modell speziell aktualisieren? Können Sie die zu aktualisierende Eigenschaft einfach aktualisieren, bevor Sie sie speichern, anstatt sie nach dem Update zu aktualisieren? –

+0

Mein Zweck war das Aktualisieren einer Dokumentzeile, die mit Ihrer Antwort erreicht wurde. Endlosschleife ist ein anderes Problem. Tnx – viam

Verwandte Themen