GraphQL Cookbook
การค้นหาวัตถุ
9 นาที
การค้นหาวัตถุผ่าน 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 จะเพิ่มการค้นหาใหม่ find\<classname> find\<classname> ใน graphql api ของคุณเพื่อค้นหาวัตถุของคลาสนี้ ดังนั้น การค้นหาจากคลาสของวัตถุจึงเป็นวิธีที่แนะนำในการค้นหาวัตถุของคลาสเฉพาะ เนื่องจากการค้นหานี้รู้ข้อมูลของคลาสของคุณ มันจะทำให้คุณสามารถใช้ฟีเจอร์เพิ่มเติมเช่นการเติมโค้ดอัตโนมัติและการตรวจสอบความถูกต้องได้โดยอัตโนมัติ ตัวอย่างนี้จะทำงานได้เฉพาะเมื่อคุณใช้การค้นหาจากคลาสของวัตถุที่มีอยู่ คุณสามารถสร้างวัตถุโดยใช้ การสร้างวัตถุ สูตร 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 ที่เก่ากว่า parse 3 9 0 การค้นหาคลาส request 1 query findhero { 2 heroes{ 3 count, 4 results { 5 id, 6 name, 7 createdat, 8 updatedat 9 } 10 } 11 } response 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" "อาร์ทู ดีทู", 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" "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 การค้นหาทั่วไป คำขอ 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" "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 } การค้นหาชั้น คำขอ 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" "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 }