GraphQL Cookbook
オブジェクトを取得する
9 分
parse graphql apiを通じてオブジェクトを取得する 問題 parse graphql apiを通じてデータベースから既存のオブジェクトを取得したい。 解決策 parse graphqlを使用すると、データベースから既存のオブジェクトを取得するための2つの異なる方法があります。 一般的なクエリを使用する https //www back4app com/docs/parse graphql/graphql query get object#query generic これは、任意のクラスのオブジェクトを取得するために使用できるクエリです。 クラスクエリを使用する https //www back4app com/docs/parse graphql/graphql query get object#query class これは、特定のクラスのオブジェクトを取得するために使用すべき推奨クエリです。 バージョン情報 使用するparseのバージョンによって、graphqlクエリ、ミューテーション、および結果はわずかに異なります。 実行しているparseのバージョンに応じて正しい例を選択してください。 一般的なクエリの使用 「 get get 」一般的なクエリを使用すると、parse serverはスキーマレスデータベースのように動作します。つまり、取得したいオブジェクトのフィールドを指定する必要はありません。オブジェクトの classname classname と objectid objectid を送信するだけで、parse serverはこのオブジェクトのすべてのフィールドを返します。 したがって、オブジェクトの get get 一般的なクエリは、任意のクラスの既存のオブジェクトを取得するために使用できるクエリです。特定のクラスの既存のオブジェクトを取得したい場合は、 クラスクエリ https //www back4app com/docs/parse graphql/graphql query get object#query class を使用することをお勧めします。 この例は、既存のオブジェクトを持つ classname classname を使用する場合にのみ機能します。 オブジェクトを作成する レシピを使用してオブジェクトを作成できます。 parse server 3 8 0 request 1 query getobject { 2 get(classname "hero", objectid "rr8jmfrnks") 3 } response 1 { 2 "data" { 3 "get" { 4 "objectid" "rr8jmfrnks", 5 "name" "luke skywalker", 6 "createdat" "2019 11 04t12 42 40 723z", 7 "updatedat" "2019 11 04t12 42 40 723z" 8 } 9 } 10 } 例:parse 3 9 0以降: parse 3 9以降では、一般的なメソッドgetおよびfindはありません。オブジェクトを取得するには、以下の特定のメソッドを使用する必要があります。 クラスクエリの使用 アプリケーションのスキーマでオブジェクトのクラスをすでに作成している場合(例えば、 オブジェクトを作成する https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic レシピを使用して)、parse serverは即座にgraphql apiに新しい get\<classname> get\<classname> クエリを追加して、このクラスの既存のオブジェクトを取得します。 したがって、オブジェクトのクラスクエリは、特定のクラスの既存のオブジェクトを取得するための推奨メソッドです。このクエリはクラスのデータを知っているため、コードの自動補完やバリデーションなどの追加機能を自動的に利用できるようになります。 この例は、既存のオブジェクトの classname classname と objectid objectid を使用する場合にのみ機能します。 オブジェクトを作成する レシピを使用してオブジェクトを作成できます。 parse server 3 10 0以降 request 1 query gethero { 2 hero(id "sgvybzpvrm5tvdm1ynbp") { 3 id, 4 name, 5 createdat, 6 updatedat 7 } 8 } response 1 { 2 "data" { 3 "hero" { 4 "id" "sgvybzpvrm5tvdm1ynbp", 5 "name" "r2 d2", 6 "createdat" "2020 02 06t13 13 26 678z", 7 "updatedat" "2020 02 06t13 13 26 678z" 8 } 9 } 10 } 古いparseサーバーバージョン parse 3 9 0 クラスクエリ リクエスト 1 query gethero { 2 hero(id "ckhurmmjzw") { 3 id, 4 name, 5 createdat, 6 updatedat 7 } 8 } レスポンス 1 { 2 "data" { 3 "hero" { 4 "id" "ckhurmmjzw", 5 "name" "ルーク・スカイウォーカー", 6 "createdat" "2019 11 04t12 37 22 462z", 7 "updatedat" "2019 11 04t12 37 22 462z" 8 } 9 } 10 } parse server 3 8 0 クラスクエリparse server 3 7 2 parse server 3 7 2 一般的なクエリ リクエスト 1 query getobject { 2 objects { 3 get(classname "hero", objectid "ffyobotk85") 4 } 5 } レスポンス 1 { 2 "data" { 3 "objects" { 4 "get" { 5 "objectid" "ffyobotk85", 6 "name" "ルーク・スカイウォーカー", 7 "createdat" "2019 07 15t01 25 20 875z", 8 "updatedat" "2019 07 15t01 25 20 875z" 9 } 10 } 11 } 12 } クラスクエリ parse server 3 7 2 1 query gethero { 2 objects { 3 gethero(objectid "ffyobotk85") { 4 objectid, 5 name, 6 createdat, 7 updatedat 8 } 9 } 10 } 結果 parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "gethero" { 5 "objectid" "ffyobotk85", 6 "name" "ルーク・スカイウォーカー", 7 "createdat" "2019 07 15t01 25 20 875z", 8 "updatedat" "2019 07 15t01 25 20 875z" 9 } 10 } 11 } 12 }