Parsen cloudcode beforeSave, um ein aktualisiertes Objekt zu erhalten

7

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:

%Vor%

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.

    
jgm 01.08.2014, 14:16
quelle

5 Antworten

8

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:

%Vor%     
krodmannix 01.08.2014, 14:44
quelle
14

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%     
MobileVet 30.09.2014 15:38
quelle
8

Sie können Parse DirtyKeys verwenden, um zu identifizieren, welches Feld geändert wurde.

%Vor%     
Abdul Vajid 04.11.2014 02:42
quelle
4

Wenn Sie den selbst gehosteten Parse Server verwenden, gibt es auf Anfrage eine Eigenschaft namens "original", die das Objekt vor Änderungen darstellt.

%Vor%     
Marc Smith 05.04.2017 23:51
quelle
0

Dies funktioniert:

%Vor%     
daksh_019 17.09.2016 08:33
quelle

Tags und Links