ยินดีต้อนรับกลับมา
ในวิดีโอนี้เราจะเริ่มเรียนรู้เกี่ยวกับ Cloud Firestore
Cloud Firestore เป็นฐานข้อมูลเอกสารแบบ NoSQL
ที่นำเสนอเป็นส่วนหนึ่งของ Firebase ออกแบบมาเพื่อจัดเก็บ
ซิงโครไนซ์ และค้นหาข้อมูลสำหรับแอปพลิเคชันของคุณแบบเรียลไทม์ ทำให้เป็นเครื่องมือที่ทรงพลังสำหรับการสร้างแอปพลิเคชันที่สามารถขยายขนาดได้และตอบสนองอย่างรวดเร็ว
Cloud Firestore เป็นระบบที่เน้นเอกสารเป็นหลัก หมายความว่าข้อมูลจะถูกจัดระเบียบเป็นคอลเลกชันและเอกสาร
เอกสารแต่ละฉบับเป็นวัตถุที่คล้ายกับ Json ซึ่งประกอบด้วยคู่คีย์-ค่าและ NoSQL
มันคือฐานข้อมูล NoSQL ซึ่งหมายความว่ามันให้ความยืดหยุ่นในการสร้างแบบจำลองข้อมูล
คุณไม่จำเป็นต้องกำหนดโครงสร้างข้อมูลที่ตายตัวล่วงหน้า
ทำให้คุณสามารถปรับโครงสร้างข้อมูลได้ตามการพัฒนาของแอปพลิเคชันและการซิงค์ข้อมูลแบบเรียลไทม์
Cloud Firestore
ให้บริการการซิงโครไนซ์ข้อมูลแบบเรียลไทม์ เมื่อมีการเปลี่ยนแปลงข้อมูลในฐานข้อมูล
ลูกค้าที่เชื่อมต่ออยู่จะได้รับการอัปเดตในเวลาจริง ทำให้เหมาะสำหรับการสร้างแอปพลิเคชันที่ทำงานร่วมกันและโต้ตอบได้
ใน Firebase Firestore ข้อมูลจะถูกจัดระเบียบเป็นสองโครงสร้างหลัก คือ เอกสาร (documents) และคอลเลกชัน (collections)
การเข้าใจแนวคิดเหล่านี้เป็นสิ่งจำเป็นสำหรับการสร้างแบบจำลองและดึงข้อมูลอย่างมีประสิทธิภาพใน Firestore
มาเริ่มทำความเข้าใจแนวคิดเหล่านี้กันเถอะ
เอกสาร เอกสารคือหน่วยข้อมูลพื้นฐานใน Firestore
มันคือชุดของคู่ค่าสำคัญที่แต่ละค่าคือชื่อฟิลด์หรือแอตทริบิวต์ และแต่ละค่าสามารถเป็นประเภทข้อมูลต่างๆ ได้ รวมถึงสตริง, ตัวเลข, บูลีน,
แผนที่, อาร์เรย์, ไทม์สแตมป์ และอื่นๆ อีกมากมาย
เอกสารมีความคล้ายคลึงกับแถวในฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม แต่ไม่มีโครงสร้างที่กำหนดไว้ล่วงหน้า
ซึ่งหมายความว่าเอกสารแต่ละรายการในคอลเลกชันสามารถมีฟิลด์ที่แตกต่างกันได้
เอกสารแต่ละฉบับต้องมีรหัสประจำตัวที่ไม่ซ้ำกันภายในชุดเอกสารนั้น โดยทั่วไปเรียกว่ารหัสเอกสาร
คุณสามารถระบุรหัสเอกสารด้วยตนเองหรือให้ Firestore สร้างรหัสให้ก็ได้
เอกสารมักถูกใช้เพื่อแทนสิ่งของหรือหน่วยงานแต่ละอย่าง เช่น โปรไฟล์ผู้ใช้,
ผลิตภัณฑ์, หรือข้อความ
ตัวอย่างเช่น นี่คือชื่อผู้ใช้ แจ็ค นามสกุล ริชาร์ด เกิดปี 1992
ดังนั้นเอกสารนี้จึงเป็นตัวแทนของผู้ใช้
มีสคีมาดังต่อไปนี้ คอลเลกชันคือกลุ่มของเอกสารที่เกี่ยวข้องกัน
การรวบรวมสามารถคิดได้ว่าเป็นภาชนะหรือตารางที่คุณใช้จัดระเบียบข้อมูลของคุณ
แต่ละคอลเลกชันมีชื่อที่ไม่ซ้ำกัน
ภายในฐานข้อมูล Firestore
คอลเลกชันมีความคล้ายคลึงหรือเทียบเคียงกับตารางในฐานข้อมูลเชิงสัมพันธ์แบบดั้งเดิม
แต่ไม่จำเป็นต้องมีโครงสร้างที่กำหนดตายตัว
คุณสามารถซ้อนคอลเลกชันไว้ภายในคอลเลกชันอื่นได้
การสร้างโครงสร้างลำดับชั้นสำหรับข้อมูลของคุณ
คอลเลกชันถูกใช้เพื่อจัดระเบียบเอกสารและให้วิธีการที่สะดวกในการค้นหาและดึงข้อมูลตามเกณฑ์ทั่วไป
ตัวอย่างเช่น คุณอาจมีคอลเลกชันผู้ใช้เพื่อเก็บโปรไฟล์และข้อความ คอลเลกชันเพื่อเก็บข้อความแชท
และตัวอย่างเช่น ที่นี่เรามีคอลเลกชันผู้ใช้เพื่อเก็บคอลเลกชันของผู้ใช้ชื่อแรก
นามสกุล และปีเกิดของพวกเขา
ผู้ใช้คนที่สองใน John Travolta 1982 เดียวกัน และต่อไปเรื่อยๆ
ดังนั้นผู้ใช้จึงเป็นคอลเลกชัน และผู้ใช้หมายเลขหนึ่งคือเอกสาร
อีกครั้งนะครับ/ค่ะ เอกสารภายในคอลเลกชันเดียวกันอาจมีฟิลด์ที่แตกต่างกันได้
และคอลเลกชันถูกใช้เพื่อจัดกลุ่มเอกสารที่เกี่ยวข้องไว้ด้วยกัน
Firestore อนุญาตให้มีการค้นหาเอกสารภายในคอลเลกชันได้อย่างหลากหลายโดยอิงจากค่าของฟิลด์
ทำให้สามารถกรองและดึงข้อมูลที่ตรงตามเกณฑ์เฉพาะได้อย่างง่ายดาย
เมื่อออกแบบโครงสร้างข้อมูล Firestore ของคุณ
สิ่งสำคัญคือการพิจารณาถึงรูปแบบการเข้าถึงข้อมูลของแอปพลิเคชันของคุณ วิธีที่คุณวางแผนจะค้นหาและดึงข้อมูล
โมเดลข้อมูลที่ยืดหยุ่นของ Firestore
ช่วยให้คุณสามารถปรับโครงสร้างฐานข้อมูลให้เหมาะสมกับความต้องการของแอปพลิเคชันของคุณได้ตามการเปลี่ยนแปลง