In einem beforeSave
Hook möchte ich den Status des Objekts vor dem Update erhalten. In diesem speziellen Fall wird ein Benutzer daran gehindert, seine Wahl zu ändern, sobald er sie einmal getroffen hat. Pseudocode sieht ungefähr so aus:
Und der Code, den ich bisher habe, ist:
%Vor% Aber request.object
ist der Status des Objekts, auf das das Update bereits angewendet wurde.
Beachten Sie, dass das Objekt "votes" separat erstellt wird, so dass dies keine Einfügung erlaubt, aber keine Aktualisierung ausreicht; Ich muss wissen, ob ein bestimmtes Feld bereits in der Datenbank gesetzt ist.
Die Variable request
ist die aktualisierte Zeile selbst. Sie können seine Objekt-ID durch request.object.id
erhalten und diese verwenden, um die aktuelle Zeile aus der Datenbank zu holen und den aktuellen Wert zu überprüfen, wie folgt:
Während die Antwort von Krodmannix korrekt ist (und hilfreich für mich war), hat sie den Overhead einer vollständigen Abfrage. Wenn Sie Dinge in beforeSave tun, möchten Sie sie wirklich straffen. Infolgedessen glaube ich, dass ein Abrufbefehl viel vorzuziehen ist.
%Vor%Sie können Parse DirtyKeys verwenden, um zu identifizieren, welches Feld geändert wurde.
%Vor%Wenn Sie den selbst gehosteten Parse Server verwenden, gibt es auf Anfrage eine Eigenschaft namens "original", die das Objekt vor Änderungen darstellt.
%Vor%Tags und Links javascript parse.com