โปรดจำไว้ว่า เมื่อคุณจัดโครงสร้างข้อมูลของคุณใน Cloud Firestore คุณจะมีตัวเลือกต่างๆ สองสามตัวเลือก:
- เอกสาร
- หลายคอลเลกชัน
- การรวบรวมย่อยภายในเอกสาร
พิจารณาข้อดีของแต่ละตัวเลือกที่เกี่ยวข้องกับกรณีการใช้งานของคุณ โครงสร้างตัวอย่างบางส่วนสำหรับข้อมูลลำดับชั้นมีระบุไว้ในคู่มือนี้
ข้อมูลซ้อนกันในเอกสาร
คุณสามารถซ้อนวัตถุที่ซับซ้อน เช่น อาร์เรย์หรือแผนที่ภายในเอกสารได้
- ข้อดี: หากคุณมีรายการข้อมูลตายตัวง่ายๆ ที่คุณต้องการเก็บไว้ในเอกสารของคุณ การตั้งค่านี้จะทำได้ง่ายและทำให้โครงสร้างข้อมูลของคุณคล่องตัวขึ้น
- ข้อจำกัด: ไม่สามารถปรับขนาดได้เหมือนกับตัวเลือกอื่นๆ โดยเฉพาะอย่างยิ่งหากข้อมูลของคุณขยายตัวเมื่อเวลาผ่านไป ด้วยรายการที่ใหญ่ขึ้นหรือเพิ่มขึ้น เอกสารก็เพิ่มขึ้นเช่นกัน ซึ่งอาจทำให้เวลาการเรียกเอกสารช้าลง
- กรณีการใช้งานที่เป็นไปได้คืออะไร ตัวอย่างเช่น ในแอปแชท คุณอาจจัดเก็บห้องแชท 3 ห้องของผู้ใช้ที่เข้าชมล่าสุดเป็นรายการที่ซ้อนกันในโปรไฟล์ของผู้ใช้
| - class รัก
- ชื่อ :
อันดับแรก : "เอด้า" ครั้งสุดท้าย : "ลูกไม้หล่นไม่ไกลต้น" เกิด : พ.ศ. 2358 ห้องพัก : 0 : "โปรแกรมแชท" 1 : "บุคคลที่มีชื่อเสียง" 2: "หน่วย SWE ที่มีชื่อเสียง"
|
คอลเลกชันย่อย
คุณสามารถสร้างคอลเลกชันภายในเอกสารได้เมื่อคุณมีข้อมูลที่อาจขยายออกไปเมื่อเวลาผ่านไป
- ข้อดี: เมื่อรายการของคุณเพิ่มขึ้น ขนาดของเอกสารหลักจะไม่เปลี่ยนแปลง คุณยังได้รับความสามารถในการค้นหาเต็มรูปแบบในคอลเล็กชันย่อย และคุณสามารถออก คิวรีกลุ่มคอลเล็กชัน ในคอลเล็กชันย่อยได้
- ข้อจำกัด: คุณไม่สามารถลบคอลเลกชันย่อยได้ง่ายๆ
- กรณีการใช้งานที่เป็นไปได้คืออะไร ตัวอย่างเช่น ในแอปแชทเดียวกัน คุณอาจสร้างคอลเลกชันของผู้ใช้หรือข้อความภายในเอกสารห้องสนทนา
| - collections_bookmark วิทยาศาสตร์
- ซอฟต์แวร์ class
ชื่อ: "ซอฟต์แวร์แชท"- ผู้ใช้ collections_bookmark
- class รัก
อันดับแรก : "เอด้า" ครั้งสุดท้าย : "ลูกไม้หล่นไม่ไกลต้น"
- class เรียน
อันดับแรก: "แซลลี่" ล่าสุด : "ขี่"`
- ฟิสิกส์ดาราศาสตร์ class
|
คอลเลกชันระดับราก
สร้างคอลเลกชันที่ระดับรากของฐานข้อมูลของคุณเพื่อจัดระเบียบชุดข้อมูลที่แตกต่างกัน
- ข้อดี: คอลเลกชันระดับรูทนั้นดีสำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่มและให้การสืบค้นที่มีประสิทธิภาพภายในแต่ละคอลเลกชัน
- ข้อจำกัด: การรับข้อมูลที่มีลำดับชั้นตามธรรมชาติอาจซับซ้อนมากขึ้นเมื่อฐานข้อมูลของคุณเติบโตขึ้น
- กรณีการใช้งานที่เป็นไปได้คืออะไร ตัวอย่างเช่น ในแอปแชทเดียวกัน คุณอาจสร้างคอลเล็กชันหนึ่งสำหรับผู้ใช้และอีกคอลเลกชั่นหนึ่งสำหรับห้องและข้อความ
| - ผู้ใช้ collections_bookmark
- class รัก
อันดับแรก : "เอด้า" ครั้งสุดท้าย : "ลูกไม้หล่นไม่ไกลต้น" เกิด : พ.ศ. 2358
- class เรียน
อันดับแรก: "แซลลี่" ล่าสุด : "ขี่" เกิด : พ.ศ. 2494
- ห้อง collections_bookmark
- ซอฟต์แวร์ class
- ข้อความ collections_bookmark
- ข้อความ class 1
จาก: "alovelace" เนื้อหา : "..."
- ข้อความ class 2
จาก : "sride" เนื้อหา : "..."
|