GraphQL Cookbook
Поиск объектов
10 мин
поиск объектов через parse graphql api проблема вы хотите найти объекты из вашей базы данных через parse graphql api решение используя parse graphql, есть два разных способа найти объекты из вашей базы данных используя общий запрос https //www back4app com/docs/parse graphql/graphql query find objects#query generic это запрос, который вы можете использовать для поиска объектов любого класса используя запрос класса https //www back4app com/docs/parse graphql/graphql query find objects#query class это рекомендуемый запрос, который вы должны использовать для поиска объектов конкретного класса информация о версии в зависимости от версии parse, которую вы выберете для запуска, запросы graphql, мутации и результаты будут немного отличаться пожалуйста, выберите правильный пример вместе с версией parse, которую вы используете использование общего запроса когда вы используете find find общий запрос, parse server ведет себя как база данных без схемы это означает, что вам не нужно указывать, какие поля объекта вы хотите получить вам просто нужно отправить classname classname , и parse server вернет все поля найденных объектов следовательно, общий запрос find find — это запрос, который вы можете использовать для поиска объектов любого класса если вы хотите найти объекты конкретного класса, мы рекомендуем использовать запрос класса https //www back4app com/docs/parse graphql/graphql query find objects#query class этот пример будет работать только в том случае, если вы используете classname classname с существующим объектом вы можете создать объект, используя рецепт создания объекта 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 } пример 3 9 0 и позже parse 3 9 0 и позже не имеет универсальных методов get и find вы должны использовать конкретные методы ниже для получения объектов использование запроса класса как только вы уже создали класс вашего объекта в схеме вашего приложения (например, используя создание объекта https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic ), parse server мгновенно добавляет к вашему graphql api новый find\<classname> find\<classname> запрос для поиска объектов этого класса следовательно, запрос класса объекта является рекомендуемым методом для поиска объектов конкретного класса поскольку этот запрос знает данные вашего класса, он автоматически предоставит вам дополнительные функции, такие как автозаполнение кода и валидация этот пример будет работать только в том случае, если вы используете запрос класса существующего объекта вы можете создать объект, используя создание объекта рецепт parse server 3 10 0 и позже 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 } старые версии parse server parse 3 9 0 запрос класса запрос 1 query findhero { 2 heroes{ 3 count, 4 results { 5 id, 6 name, 7 createdat, 8 updatedat 9 } 10 } 11 } ответ 1 { 2 "data" { 3 "heroes" { 4 "count" 2, 5 "results" \[ 6 { 7 "id" "ckhurmmjzw", 8 "name" "люк скайуокер", 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 запрос класса запрос 1 query findhero { 2 heroes{ 3 count, 4 results { 5 objectid, 6 name, 7 createdat, 8 updatedat 9 } 10 } 11 } ответ 1 "data" { 2 "objects" { 3 "findhero" { 4 "count" 2, 5 "results" \[ 6 { 7 "objectid" "ffyobotk85", 8 "name" "люк скайуокер", 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 общий запрос запрос 1 query findobject { 2 objects { 3 find(classname "hero") { 4 count, 5 results 6 } 7 } 8 } ответ 1 { 2 "data" { 3 "objects" { 4 "find" { 5 "count" 2, 6 "results" \[ 7 { 8 "objectid" "ffyobotk85", 9 "name" "люк скайуокер", 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 } запрос класса запрос 1 query findhero { 2 objects { 3 findhero { 4 count, 5 results { 6 objectid, 7 name, 8 createdat, 9 updatedat 10 } 11 } 12 } 13 } ответ 1 "data" { 2 "objects" { 3 "findhero" { 4 "count" 2, 5 "results" \[ 6 { 7 "objectid" "ffyobotk85", 8 "name" "люк скайуокер", 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 }