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 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 } 파스 서버 3 8 0 클래스 쿼리 요청 1 쿼리 findhero { 2 영웅들{ 3 수, 4 결과 { 5 객체id, 6 이름, 7 생성일, 8 수정일 9 } 10 } 11 } 응답 1 "데이터" { 2 "객체" { 3 "findhero" { 4 "수" 2, 5 "결과" \[ 6 { 7 "객체id" "ffyobotk85", 8 "이름" "루크 스카이워커", 9 "생성일" "2019 07 15t01 25 20 875z", 10 "수정일" "2019 07 15t01 25 20 875z" 11 }, 12 { 13 "객체id" "jjh0aqqjfs", 14 "이름" "r2 d2", 15 "생성일" "2019 07 15t02 22 04 982z", 16 "수정일" "2019 07 15t02 22 04 982z" 17 } 18 ] 19 } 20 } 21 } 22 } 파스 서버 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 }