GraphQL Cookbook
Создание объекта
8 мин
создание объекта через parse graphql api проблема вы хотите создать новый объект в вашей базе данных через parse graphql api решение используя parse graphql, есть два разных способа создать новый объект в вашей базе данных используя общую мутацию https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic это мутация, которую вы должны использовать, если вы еще не создали класс вашего объекта используя мутацию класса https //www back4app com/docs/parse graphql/graphql mutation create object#mutation class это рекомендуемая мутация, если вы уже создали класс вашего объекта информация о версии в зависимости от версии parse, которую вы выберете для запуска, запросы graphql, мутации и результаты будут немного отличаться пожалуйста, выберите правильный пример вместе с версией parse, которую вы используете использование общей мутации когда вы используете create create общую мутацию, parse server ведет себя как база данных без схемы это означает, что вам не нужно заранее определять класс вашего объекта в схеме вашего приложения вам просто нужно отправить данные вашего объекта, и parse server не только сохранит их, но и научится на их основе, автоматически создавая новый класс в схеме вашего приложения следовательно, create create общая мутация объектов — это метод, который вы должны использовать для создания нового объекта, если вы еще не создали класс вашего объекта вы также можете использовать эту мутацию для создания объекта существующих классов, но в этих случаях мы рекомендуем использовать мутацию класса https //www back4app com/docs/parse graphql/graphql mutation create object#mutation class класс 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 } объект 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 } использование мутации класса как только вы уже создали класс вашего объекта в схеме вашего приложения (например, используя общую мутацию https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic ), parse server мгновенно добавляет к вашему graphql api новую create\<classname> create\<classname> мутацию для создания нового объекта этого класса следовательно, мутация класса объекта является рекомендуемым методом для создания нового объекта, если вы уже создали класс вашего объекта поскольку эта мутация знает данные вашего класса, она автоматически предоставит вам дополнительные функции, такие как автозаполнение кода и валидация вам также не нужно указывать типы данных при отправке дат, указателей, отношений, файлов, гео точек, полигонов или байтов через мутацию создания класса этот пример будет работать только в том случае, если вы уже создали класс вашего объекта вы можете создать класс, используя общую мутацию 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 } старые версии parse server parse server 3 9 0 общая мутация класс запрос #в parse 3 9 0 вы также должны сначала создать сам класс 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 } ответ 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 } объект запрос #а затем создайте объект \#в parse 3 9 0 вы должны сначала создать сам класс 1 mutation createobject{ 2 createhero(fields { 3 name "luke skywalker" 4 }){ 5 id 6 createdat 7 } 8 } ответ 1 { 2 "data" { 3 "createhero" { 4 "id" "ckhurmmjzw", 5 "createdat" "2019 11 04t12 37 22 462z" 6 } 7 } 8 } мутация класса parse server 3 9 0 1 mutation createobject{ 2 createhero(fields { 3 name "r2 d2" 4 }){ 5 id 6 createdat 7 } 8 } результат 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 общая мутация parse server 3 8 0 1 mutation createobject { 2 create(classname "hero" fields { 3 name "luke skywalker" 4 }){ 5 objectid 6 createdat 7 } 8 } результат 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 } классовая мутация parse server 3 8 0 1 mutation createhero { 2 createhero(fields { name "r2 d2" }) { 3 objectid, 4 createdat 5 } 6 } результат 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 общая мутация 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 } результат 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 } классовая мутация parse server 3 7 2 1 mutation createhero { 2 objects { 3 createhero(fields { name "r2 d2" }) { 4 objectid, 5 createdat 6 } 7 } 8 } результат 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 }