GraphQL Cookbook
การอัพเดตวัตถุ
9 นาที
การอัปเดตวัตถุผ่าน parse graphql api ปัญหา คุณต้องการอัปเดตวัตถุที่มีอยู่ในฐานข้อมูลของคุณผ่าน parse graphql api วิธีแก้ปัญหา โดยใช้ parse graphql มีสองวิธีที่แตกต่างกันในการอัปเดตวัตถุที่มีอยู่ในฐานข้อมูลของคุณ การใช้การเปลี่ยนแปลงทั่วไป https //www back4app com/docs/parse graphql/graphql mutation update object#mutation generic นี่คือการเปลี่ยนแปลงที่คุณต้องใช้หากคุณต้องการตั้งค่าฟิลด์ที่ยังไม่อยู่ในคลาสของวัตถุของคุณ การใช้การเปลี่ยนแปลงคลาส https //www back4app com/docs/parse graphql/graphql mutation update object#mutation class นี่คือการเปลี่ยนแปลงที่แนะนำหากคลาสของวัตถุของคุณมีฟิลด์ทั้งหมดที่คุณต้องการอัปเดตแล้ว ข้อมูลเวอร์ชัน ขึ้นอยู่กับเวอร์ชันของ parse ที่คุณเลือกใช้งาน คำสั่ง graphql, การเปลี่ยนแปลง และผลลัพธ์จะมีความแตกต่างกันเล็กน้อย。 กรุณาเลือกตัวอย่างที่ถูกต้องพร้อมกับเวอร์ชัน parse ที่คุณกำลังใช้งาน การใช้การเปลี่ยนแปลงทั่วไป เมื่อคุณใช้การเปลี่ยนแปลง update update แบบทั่วไป parse server จะทำงานเหมือนฐานข้อมูลที่ไม่มีสคีมา ซึ่งหมายความว่าคุณไม่จำเป็นต้องกำหนดฟิลด์ทั้งหมดของวัตถุของคุณล่วงหน้า คุณเพียงแค่ต้องส่งฟิลด์ที่คุณต้องการอัปเดต และ parse server จะไม่เพียงแต่เก็บข้อมูลนี้ แต่ยังเรียนรู้จากมัน และสร้างฟิลด์ใหม่ในคลาสของวัตถุนี้โดยอัตโนมัติ ดังนั้น การเปลี่ยนแปลง update update แบบทั่วไปจึงเป็นวิธีที่คุณต้องใช้ในการอัปเดตวัตถุที่มีอยู่ หากคุณต้องการตั้งค่าฟิลด์ที่ยังไม่อยู่ในคลาสของวัตถุของคุณ คุณสามารถใช้การเปลี่ยนแปลงนี้ในการอัปเดตวัตถุที่มีอยู่ได้ แต่เราขอแนะนำให้ใช้ การเปลี่ยนแปลงคลาส https //www back4app com/docs/parse graphql/graphql mutation update object#mutation class หากคลาสของวัตถุของคุณมีฟิลด์ทั้งหมดที่คุณต้องการอัปเดตแล้ว ตัวอย่างนี้จะทำงานได้เฉพาะเมื่อคุณใช้ classname classname และ objectid objectid ของวัตถุที่มีอยู่ คุณสามารถสร้างวัตถุโดยใช้ การสร้างวัตถุ สูตร parse 3 8 0 request 1 mutation updateobject { 2 update(classname "hero", objectid "rr8jmfrnks", fields { height 5 6 }) { 3 updatedat 4 } 5 } response 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 28 44 150z" 5 } 6 } 7 } ตัวอย่าง parse 3 9 0 และเวอร์ชันที่ใหม่กว่า parse 3 9 0 และเวอร์ชันที่ใหม่กว่านั้นไม่มีวิธีการทั่วไป update คุณต้องใช้วิธีการเฉพาะด้านล่างเพื่ออัปเดตวัตถุ การใช้การเปลี่ยนแปลงคลาส เมื่อคุณได้สร้างคลาสของวัตถุในสคีมาของแอปพลิเคชันของคุณแล้ว (เช่น การใช้ การสร้างวัตถุ https //www back4app com/docs/parse graphql/graphql mutation create object#mutation generic สูตร), parse server จะเพิ่มการเปลี่ยนแปลงใหม่ update\<classname> update\<classname> เพื่ออัปเดตวัตถุที่มีอยู่ในคลาสนี้ทันที ดังนั้น การเปลี่ยนแปลงคลาสของวัตถุจึงเป็นวิธีที่แนะนำในการอัปเดตวัตถุที่มีอยู่หากคลาสของวัตถุของคุณมีฟิลด์ทั้งหมดที่คุณต้องการอัปเดตอยู่แล้ว เนื่องจากการเปลี่ยนแปลงนี้รู้ข้อมูลของคลาสของคุณ มันจะทำให้คุณสามารถใช้ฟีเจอร์เพิ่มเติมเช่นการเติมโค้ดอัตโนมัติและการตรวจสอบความถูกต้องได้โดยอัตโนมัติ คุณยังไม่จำเป็นต้องระบุประเภทข้อมูลเมื่อส่งวันที่, พอยเตอร์, ความสัมพันธ์, ไฟล์, จุดภูมิศาสตร์, รูปหลายเหลี่ยม, หรือไบต์ผ่านการเปลี่ยนแปลงการอัปเดตคลาส ตัวอย่างนี้จะทำงานได้เฉพาะเมื่อคุณใช้การเปลี่ยนแปลงของคลาสและ objectid objectid หรือ id id ของวัตถุที่มีอยู่ คุณสามารถสร้างวัตถุโดยใช้ การสร้างวัตถุ สูตร คลาสของวัตถุต้องมีฟิลด์ทั้งหมดที่คุณพยายามจะอัปเดต คุณสามารถสร้างฟิลด์ใหม่โดยใช้ การเปลี่ยนแปลงทั่วไป parse 3 10 0 และเวอร์ชันที่ใหม่กว่า request 1 mutation updateobject { 2 updatehero(input { 3 id "sgvybzpvrm5tvdm1ynbp" 4 fields { 5 height 5 6 6 } 7 }){ 8 hero{ 9 updatedat 10 } 11 } 12 } response 1 { 2 "data" { 3 "updatehero" { 4 "hero" { 5 "updatedat" "2020 02 06t13 31 49 866z" 6 } 7 } 8 } 9 } เวอร์ชันเซิร์ฟเวอร์ parse ที่เก่ากว่า parse 3 9 0 การเปลี่ยนแปลงคลาส parse server 3 9 0 1 mutation updateobject { 2 updatehero(id "ckhurmmjzw" fields { 3 height 5 6 4 }){ 5 updatedat 6 } 7 } ผลลัพธ์ parse 3 9 0 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 30 20 457z" 5 } 6 } 7 } parse 3 8 0 การเปลี่ยนแปลงคลาส คำขอ 1 mutation updateobject { 2 updatehero(objectid "rr8jmfrnks" fields { 3 height 5 6 4 }){ 5 updatedat 6 } 7 } การตอบกลับ 1 { 2 "data" { 3 "updatehero" { 4 "updatedat" "2019 11 04t13 38 46 343z" 5 } 6 } 7 } parse 3 7 2 การเปลี่ยนแปลงทั่วไป parse server 3 7 2 1 mutation updateobject { 2 objects { 3 update(classname "hero", objectid "ffyobotk85", fields { height 5 6 }) { 4 updatedat 5 } 6 } 7 } ผลลัพธ์ parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "update" { 5 "updatedat" "2019 07 15t05 57 14 416z" 6 } 7 } 8 } 9 } การเปลี่ยนแปลงคลาส parse server 3 7 2 1 mutation updatehero { 2 objects { 3 updatehero(objectid "jjh0aqqjfs", fields { height 3 6 }) { 4 updatedat 5 } 6 } 7 } ผลลัพธ์ parse 3 7 2 1 { 2 "data" { 3 "objects" { 4 "updatehero" { 5 "updatedat" "2019 07 15t05 51 25 572z" 6 } 7 } 8 } 9 }