GraphQL Cookbook
Objekte finden
10 min
objekte über die parse graphql api finden problem sie möchten objekte aus ihrer datenbank über die parse graphql api finden lösung mit der parse graphql gibt es zwei verschiedene möglichkeiten, objekte aus ihrer datenbank zu finden verwendung einer generischen abfrage https //www back4app com/docs/parse graphql/graphql query find objects#query generic dies ist die abfrage, die sie verwenden können, um objekte jeder klasse zu finden verwendung einer klassenabfrage https //www back4app com/docs/parse graphql/graphql query find objects#query class dies ist die empfohlene abfrage, die sie verwenden sollten, um objekte einer bestimmten klasse zu finden 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 abfrage wenn sie die find find generische abfrage verwenden, verhält sich der parse server wie eine schemalose datenbank das bedeutet, dass sie nicht angeben müssen, welche felder des objekts sie abrufen möchten sie müssen nur den classname classname , und der parse server gibt alle felder der gefundenen objekte zurück daher ist die find find generische abfrage die abfrage, die sie verwenden können, um objekte jeder klasse zu finden wenn sie objekte einer bestimmten klasse finden möchten, empfehlen wir die verwendung der klassenabfrage https //www back4app com/docs/parse graphql/graphql query find objects#query class dieses beispiel funktioniert nur, wenn sie eine classname classname mit einem vorhandenen objekt verwenden sie können ein objekt mit dem erstellen eines objekts rezept erstellen parse server 3 8 0 request 1 query findobject { 2 find(classname "hero") { 3 count, 4 results 5 } 6 } response 1 { 2 "data" { 3 "find" { 4 "count" 2, 5 "results" \[ 6 { 7 "objectid" "rr8jmfrnks", 8 "name" "luke skywalker", 9 "createdat" "2019 11 04t12 42 40 723z", 10 "updatedat" "2019 11 04t12 42 40 723z" 11 }, 12 { 13 "objectid" "tuecddcgno", 14 "name" "r2 d2", 15 "createdat" "2019 11 04t12 44 10 951z", 16 "updatedat" "2019 11 04t12 44 10 951z" 17 } 18 ] 19 } 20 } 21 } beispiel 3 9 0 und später parse 3 9 0 und später hat nicht die generischen methoden get und find sie müssen die spezifischen methoden unten verwenden, um objekte abzurufen verwendung der klassenabfrage 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 find\<classname> find\<classname> abfrage zu ihrer graphql api hinzu, um objekte dieser klasse zu finden daher ist die klassenabfrage des objekts die empfohlene methode, um objekte einer bestimmten klasse zu finden da diese abfrage die daten ihrer klasse kennt, stehen ihnen automatisch zusätzliche funktionen wie code autovervollständigung und validierung zur verfügung dieses beispiel funktioniert nur, wenn sie eine klassenabfrage eines vorhandenen objekts verwenden sie können ein objekt mit dem erstellen eines objekts rezept erstellen parse server 3 10 0 und später request 1 query findhero { 2 heroes{ 3 count, 4 edges{ 5 node{ 6 name 7 createdat 8 updatedat 9 } 10 } 11 } 12 } response 1 { 2 "data" { 3 "heroes" { 4 "count" 3, 5 "edges" \[ 6 { 7 "node" { 8 "name" "luke skywalker", 9 "createdat" "2020 02 06t13 02 33 652z", 10 "updatedat" "2020 02 06t13 02 33 652z" 11 } 12 }, 13 { 14 "node" { 15 "name" "r2 d2", 16 "createdat" "2020 02 06t13 13 26 678z", 17 "updatedat" "2020 02 06t13 13 26 678z" 18 } 19 } 20 ] 21 } 22 } 23 } ältere parse server versionen parse 3 9 0 klassenabfrage anfrage 1 query findhero { 2 heroes{ 3 count, 4 results { 5 id, 6 name, 7 createdat, 8 updatedat 9 } 10 } 11 } antwort 1 { 2 "data" { 3 "heroes" { 4 "count" 2, 5 "results" \[ 6 { 7 "id" "ckhurmmjzw", 8 "name" "luke skywalker", 9 "createdat" "2019 11 04t12 37 22 462z", 10 "updatedat" "2019 11 04t12 37 22 462z" 11 }, 12 { 13 "id" "n5grpei0il", 14 "name" "r2 d2", 15 "createdat" "2019 11 04t12 45 00 882z", 16 "updatedat" "2019 11 04t12 45 00 882z" 17 } 18 ] 19 } 20 } 21 } parse server 3 8 0 klassenabfrage anfrage 1 query findhero { 2 heroes{ 3 count, 4 results { 5 objectid, 6 name, 7 createdat, 8 updatedat 9 } 10 } 11 } antwort 1 "data" { 2 "objects" { 3 "findhero" { 4 "count" 2, 5 "results" \[ 6 { 7 "objectid" "ffyobotk85", 8 "name" "luke skywalker", 9 "createdat" "2019 07 15t01 25 20 875z", 10 "updatedat" "2019 07 15t01 25 20 875z" 11 }, 12 { 13 "objectid" "jjh0aqqjfs", 14 "name" "r2 d2", 15 "createdat" "2019 07 15t02 22 04 982z", 16 "updatedat" "2019 07 15t02 22 04 982z" 17 } 18 ] 19 } 20 } 21 } 22 } parse server 3 7 2 allgemeine abfrage anfrage 1 query findobject { 2 objects { 3 find(classname "hero") { 4 count, 5 results 6 } 7 } 8 } antwort 1 { 2 "data" { 3 "objects" { 4 "find" { 5 "count" 2, 6 "results" \[ 7 { 8 "objectid" "ffyobotk85", 9 "name" "luke skywalker", 10 "createdat" "2019 07 15t01 25 20 875z", 11 "updatedat" "2019 07 15t01 25 20 875z" 12 }, 13 { 14 "objectid" "jjh0aqqjfs", 15 "name" "r2 d2", 16 "createdat" "2019 07 15t02 22 04 982z", 17 "updatedat" "2019 07 15t02 22 04 982z" 18 } 19 ] 20 } 21 } 22 } 23 } klassenabfrage anfrage 1 query findhero { 2 objects { 3 findhero { 4 count, 5 results { 6 objectid, 7 name, 8 createdat, 9 updatedat 10 } 11 } 12 } 13 } antwort 1 "data" { 2 "objects" { 3 "findhero" { 4 "count" 2, 5 "results" \[ 6 { 7 "objectid" "ffyobotk85", 8 "name" "luke skywalker", 9 "createdat" "2019 07 15t01 25 20 875z", 10 "updatedat" "2019 07 15t01 25 20 875z" 11 }, 12 { 13 "objectid" "jjh0aqqjfs", 14 "name" "r2 d2", 15 "createdat" "2019 07 15t02 22 04 982z", 16 "updatedat" "2019 07 15t02 22 04 982z" 17 } 18 ] 19 } 20 } 21 } 22 }