GraphQL Cookbook
Aktualisierung eines Objekts
10 min
aktualisierung eines objekts über die parse graphql api problem sie möchten ein vorhandenes objekt in ihrer datenbank über die parse graphql api aktualisieren lösung mit der parse graphql gibt es zwei verschiedene möglichkeiten, ein vorhandenes objekt in ihrer datenbank zu aktualisieren verwendung der generischen mutation https //www back4app com/docs/parse graphql/graphql mutation update object#mutation generic dies ist die mutation, die sie verwenden müssen, wenn sie felder festlegen möchten, die noch nicht zur klasse ihres objekts gehören verwendung der klassenmutation https //www back4app com/docs/parse graphql/graphql mutation update object#mutation class dies ist die empfohlene mutation, wenn die klasse ihres objekts bereits alle felder hat, die sie aktualisieren möchten versionsinformationen je nach der version von parse, die sie ausführen, werden die graphql abfragen, mutationen und ergebnisse leicht unterschiedlich sein bitte wählen sie das richtige beispiel zusammen mit der parse version, die sie ausführen verwendung einer generischen mutation wenn sie die update update generische mutation verwenden, verhält sich der parse server wie eine schemalose datenbank das bedeutet, dass sie nicht alle felder ihres objekts im voraus definieren müssen sie müssen nur die felder senden, die sie aktualisieren möchten, und der parse server wird sie nicht nur speichern, sondern auch daraus lernen und automatisch jedes neue feld in dieser objektklasse erstellen daher ist die update update generische mutation die methode, die sie verwenden müssen, um ein vorhandenes objekt zu aktualisieren, wenn sie felder festlegen möchten, die noch nicht zu ihrer objektklasse gehören sie können diese mutation tatsächlich verwenden, um jedes vorhandene objekt zu aktualisieren, aber wir empfehlen, die klassenmutation https //www back4app com/docs/parse graphql/graphql mutation update object#mutation class zu verwenden, wenn ihre objektklasse bereits alle felder hat, die sie aktualisieren möchten dieses beispiel funktioniert nur, wenn sie einen classname classname und eine objectid objectid eines vorhandenen objekts verwenden sie können ein objekt mit dem erstellen eines objekts rezept erstellen parse 3 8 0 request 1 mutation updateobject { 2 update(classname "hero", objectid "rr8jmfrnks", fields { height 5 6 }) { 3 updatedat 4 } 5 } response 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 28 44 150z" 5 } 6 } 7 } beispiel parse 3 9 0 und später parse 3 9 0 und später hat nicht die generische methode update sie müssen die spezifischen methoden unten verwenden, um objekte zu aktualisieren verwendung der klassenmutation sobald sie die klasse ihres objekts im schema ihrer anwendung erstellt haben (zum beispiel mit dem erstellen eines objekts https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic rezept), fügt parse server sofort eine neue update\<classname> update\<classname> mutation hinzu, um ein vorhandenes objekt dieser klasse zu aktualisieren daher ist die klassenmutation des objekts die empfohlene methode, um ein vorhandenes objekt zu aktualisieren, wenn die klasse ihres objekts bereits alle felder hat, die sie aktualisieren möchten da diese mutation die daten ihrer klasse kennt, werden ihnen automatisch zusätzliche funktionen wie code autovervollständigung und validierung zur verfügung gestellt sie müssen auch die datentypen nicht angeben, wenn sie daten, zeiger, beziehungen, dateien, geografische punkte, polygone oder bytes über die klassenaktualisierungsmutation senden dieses beispiel funktioniert nur, wenn sie eine klassenmutation verwenden und objectid objectid oder id id eines vorhandenen objekts sie können ein objekt mit dem erstellen eines objekts rezept erstellen die klasse des objekts muss alle felder haben, die sie versuchen zu aktualisieren sie können neue felder mit der generischen mutation erstellen parse 3 10 0 und später request 1 mutation updateobject { 2 updatehero(input { 3 id "sgvybzpvrm5tvdm1ynbp" 4 fields { 5 height 5 6 6 } 7 }){ 8 hero{ 9 updatedat 10 } 11 } 12 } response 1 { 2 "data" { 3 "updatehero" { 4 "hero" { 5 "updatedat" "2020 02 06t13 31 49 866z" 6 } 7 } 8 } 9 } ältere parse server versionen parse 3 9 0 klassenmutation parse server 3 9 0 1 mutation updateobject { 2 updatehero(id "ckhurmmjzw" fields { 3 height 5 6 4 }){ 5 updatedat 6 } 7 } ergebnis parse 3 9 0 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 30 20 457z" 5 } 6 } 7 } parse 3 8 0 klassenmutation anfrage 1 mutation updateobject { 2 updatehero(objectid "rr8jmfrnks" fields { 3 height 5 6 4 }){ 5 updatedat 6 } 7 } antwort 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 38 46 343z" 5 } 6 } 7 } parse 3 7 2 generische mutation parse server 3 7 2 1 mutation updateobject { 2 objects { 3 update(classname "hero", objectid "ffyobotk85", fields { height 5 6 }) { 4 updatedat 5 } 6 } 7 } ergebnis parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "update" { 5 "updatedat" "2019 07 15t05 57 14 416z" 6 } 7 } 8 } 9 } klassenmutation parse server 3 7 2 1 mutation updatehero { 2 objects { 3 updatehero(objectid "jjh0aqqjfs", fields { height 3 6 }) { 4 updatedat 5 } 6 } 7 } ergebnis parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "updatehero" { 5 "updatedat" "2019 07 15t05 51 25 572z" 6 } 7 } 8 } 9 }