GraphQL Cookbook
Ein Objekt erstellen
8 min
ein objekt über die parse graphql api erstellen problem sie möchten ein neues objekt in ihrer datenbank über die parse graphql api erstellen lösung mit der parse graphql gibt es zwei verschiedene möglichkeiten, ein neues objekt in ihrer datenbank zu erstellen verwendung der generischen mutation https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic dies ist die mutation, die sie verwenden müssen, wenn sie die klasse ihres objekts noch nicht erstellt haben verwendung der klassenmutation https //www back4app com/docs/parse graphql/graphql mutation create object#mutation class dies ist die empfohlene mutation, wenn sie die klasse ihres objekts bereits erstellt haben 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 create create generische mutation verwenden, verhält sich der parse server wie eine schemalose datenbank das bedeutet, dass sie die klasse ihres objekts nicht im voraus im schema ihrer anwendung definieren müssen sie müssen nur die daten ihres objekts senden, und der parse server wird sie nicht nur speichern, sondern auch daraus lernen und automatisch eine neue klasse im schema ihrer anwendung erstellen daher ist die create create generische mutation die methode, die sie verwenden müssen, um ein neues objekt zu erstellen, wenn sie die klasse ihres objekts noch nicht erstellt haben sie können diese mutation auch verwenden, um ein objekt von bereits vorhandenen klassen zu erstellen, aber für diese fälle empfehlen wir die verwendung der klassenmutation https //www back4app com/docs/parse graphql/graphql mutation create object#mutation class klasse request #in parse 3 10 0 and later you must first create the class itself 1 mutation createclass { 2 createclass(input { 3 name "hero" 4 schemafields { 5 addstrings \[{name "name"}] 6 addnumbers \[{name "height"}] 7 } 8 }){ 9 class{ 10 schemafields{ 11 name 12 typename 13 } 14 } 15 } 16 } response 1 { 2 "data" { 3 "createclass" { 4 "class" { 5 "schemafields" \[ 6 { 7 "name" "objectid", 8 " typename" "schemastringfield" 9 }, 10 { 11 "name" "updatedat", 12 " typename" "schemadatefield" 13 }, 14 { 15 "name" "createdat", 16 " typename" "schemadatefield" 17 }, 18 { 19 "name" "name", 20 " typename" "schemastringfield" 21 }, 22 { 23 "name" "height", 24 " typename" "schemanumberfield" 25 }, 26 { 27 "name" "acl", 28 " typename" "schemaaclfield" 29 } 30 ] 31 } 32 } 33 } 34 } objekt request 1 mutation createobject{ 2 createhero(input {fields {name "luke skywalker"}}){ 3 hero{ 4 id 5 name 6 } 7 } 8 } response 1 { 2 "data" { 3 "createhero" { 4 "hero" { 5 "id" "sgvybzo5qjfpmufxcxn1", 6 "name" "luke skywalker" 7 } 8 } 9 } 10 } verwendung der klassenmutation sobald sie die klasse ihres objekts im schema ihrer anwendung erstellt haben (zum beispiel unter verwendung der generischen mutation https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic ), fügt der parse server sofort eine neue create\<classname> create\<classname> mutation hinzu, um ein neues objekt dieser klasse zu erstellen daher ist die klassenmutation des objekts die empfohlene methode zur erstellung eines neuen objekts, wenn sie bereits die klasse ihres objekts erstellt haben da diese mutation die daten ihrer klasse kennt, stehen ihnen automatisch zusätzliche funktionen wie code autovervollständigung und validierung zur verfügung sie müssen auch die datentypen nicht angeben, wenn sie daten, zeiger, beziehungen, dateien, geopunkte, polygone oder bytes über die klassen erstellungsmutation senden dieses beispiel funktioniert nur, wenn sie bereits die klasse ihres objekts erstellt haben sie können eine klasse mit der generischen mutation erstellen request 1 mutation createobject{ 2 createhero(input {fields {name "r2 d2"}}){ 3 hero{ 4 id 5 createdat 6 } 7 } 8 } response #notice the id property refers to the global id in the relay specification, not to confuse with the objectid from parse 1 { 2 "data" { 3 "createhero" { 4 "hero" { 5 "id" "sgvybzpvrm5tvdm1ynbp", 6 "createdat" "2020 02 06t13 13 26 678z" 7 } 8 } 9 } 10 } ältere parse server versionen parse server 3 9 0 allgemeine mutation klasse anfrage #in parse 3 9 0 müssen sie zuerst die klasse selbst erstellen 1 mutation createclass { 2 createclass( 3 name "hero" 4 schemafields { 5 addstrings \[{name "name"}] 6 addnumbers \[{name "height"}] 7 }){ 8 schemafields{ 9 name 10 typename 11 } 12 } 13 } antwort 1 { 2 "data" { 3 "createclass" { 4 "schemafields" \[ 5 { 6 "name" "objectid", 7 " typename" "schemastringfield" 8 }, 9 { 10 "name" "updatedat", 11 " typename" "schemadatefield" 12 }, 13 { 14 "name" "createdat", 15 " typename" "schemadatefield" 16 }, 17 { 18 "name" "name", 19 " typename" "schemastringfield" 20 }, 21 { 22 "name" "height", 23 " typename" "schemanumberfield" 24 }, 25 { 26 "name" "acl", 27 " typename" "schemaaclfield" 28 } 29 ] 30 } 31 } 32 } objekt anfrage #und dann das objekt erstellen \#in parse 3 9 0 müssen sie zuerst die klasse selbst erstellen 1 mutation createobject{ 2 createhero(fields { 3 name "luke skywalker" 4 }){ 5 id 6 createdat 7 } 8 } antwort 1 { 2 "data" { 3 "createhero" { 4 "id" "ckhurmmjzw", 5 "createdat" "2019 11 04t12 37 22 462z" 6 } 7 } 8 } klassenmutation parse server 3 9 0 1 mutation createobject{ 2 createhero(fields { 3 name "r2 d2" 4 }){ 5 id 6 createdat 7 } 8 } ergebnis parse 3 9 0 1 { 2 "data" { 3 "createhero" { 4 "id" "n5grpei0il", 5 "createdat" "2019 11 04t12 45 00 882z" 6 } 7 } 8 } parse server 3 8 0 allgemeine mutation parse server 3 8 0 1 mutation createobject { 2 create(classname "hero" fields { 3 name "luke skywalker" 4 }){ 5 objectid 6 createdat 7 } 8 } ergebnis parse 3 8 0 1 { 2 "data" { 3 "objects" { 4 "create" { 5 "objectid" "ffyobotk85", 6 "createdat" "2019 07 15t01 25 20 875z" 7 } 8 } 9 } 10 } klassenmutation parse server 3 8 0 1 mutation createhero { 2 createhero(fields { name "r2 d2" }) { 3 objectid, 4 createdat 5 } 6 } ergebnis parse 3 8 0 1 { 2 "data" { 3 "createhero" { 4 "objectid" "tuecddcgno", 5 "createdat" "2019 11 04t12 44 10 951z" 6 } 7 } 8 } parse server 3 7 2 allgemeine mutation parse server 3 7 2 1 mutation createobject { 2 objects { 3 create(classname "hero", fields { name "luke skywalker" }) { 4 objectid, 5 createdat 6 } 7 } 8 } ergebnis parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "create" { 5 "objectid" "kr9aqnzfui", 6 "createdat" "2019 07 15t01 25 20 875z" 7 } 8 } 9 } 10 } klassenmutation parse server 3 7 2 1 mutation createhero { 2 objects { 3 createhero(fields { name "r2 d2" }) { 4 objectid, 5 createdat 6 } 7 } 8 } ergebnis parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "createhero" { 5 "objectid" "jjh0aqqjfs", 6 "createdat" "2019 07 15t02 22 04 982z" 7 } 8 } 9 } 10 }