โปรดทราบว่าเมื่อจัดโครงสร้างข้อมูลใน Cloud Firestore คุณจะมีตัวเลือกต่างๆ ดังนี้
- เอกสาร
- คอลเล็กชันหลายรายการ
- คอลเล็กชันย่อยภายในเอกสาร
พิจารณาข้อดีของแต่ละตัวเลือกตามกรณีการใช้งานของคุณ คู่มือนี้จัดทำโครงสร้างตัวอย่างบางส่วนสำหรับข้อมูลแบบเป็นลำดับขั้น
ข้อมูลที่ฝังในเอกสาร
คุณสามารถฝังวัตถุที่ซับซ้อน เช่น อาร์เรย์หรือแผนที่ภายในเอกสารได้
- ข้อดี: หากคุณมีรายการข้อมูลที่ไม่ซับซ้อนและคงที่ซึ่งต้องการเก็บไว้ในเอกสาร การตั้งค่านี้จะทำให้โครงสร้างข้อมูลมีความคล่องตัวยิ่งขึ้น
-
ข้อจำกัด:
ตัวเลือกนี้ไม่สามารถปรับขนาดได้เท่ากับตัวเลือกอื่นๆ โดยเฉพาะเมื่อข้อมูลขยายออกไปเรื่อยๆ เมื่อมีรายการมากขึ้นหรือเพิ่มขึ้น เอกสารก็จะมีขนาดใหญ่ขึ้น ซึ่งอาจทำให้ดึงข้อมูลเอกสารได้ช้าลง
- กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง เช่น ในแอปแชท คุณอาจจัดเก็บห้องแชท 3 ห้องที่ผู้ใช้เข้าชมล่าสุดเป็นรายการที่ซ้อนกันอยู่ในโปรไฟล์ของผู้ใช้
|
- class alovelace
- name :
first : "Ada"
last : "Lovelace"
born : 1815
rooms :
0 : "ซอฟต์แวร์แชท"
|
คอลเล็กชันย่อย
คุณสามารถสร้างคอลเล็กชันภายในเอกสารเมื่อมีข้อมูลที่อาจเพิ่มขึ้นเมื่อเวลาผ่านไป
- ข้อดี: เมื่อรายการใหญ่ขึ้น ขนาดของเอกสารหลักจะไม่เปลี่ยนแปลง คุณยังใช้ความสามารถในการค้นหาอย่างเต็มที่ในคอลเล็กชันย่อยและออก
การค้นหากลุ่มคอลเล็กชันในคอลเล็กชันย่อยได้
-
ข้อจำกัด: คุณลบคอลเล็กชันย่อยได้ยาก
- กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง เช่น ในแอปแชทเดียวกัน คุณอาจสร้างคอลเล็กชันผู้ใช้หรือข้อความภายในเอกสารของห้องแชท
|
- collections_bookmark วิทยาศาสตร์
- class ซอฟต์แวร์
ชื่อ : "ซอฟต์แวร์แชท"
- ผู้ใช้ collections_bookmark
ราย
- class
alovelace
first : "Ada"
last : "Lovelace"
- class
sride
ก่อน : "ส้ม"
สุดท้าย : "โดยสาร""
- ฟิสิกส์ดาราศาสตร์ class
|
คอลเล็กชันระดับราก
สร้างคอลเล็กชันที่ระดับรากของฐานข้อมูลเพื่อจัดระเบียบชุดข้อมูลที่แตกต่างกัน
- ข้อดี: คอลเล็กชันระดับรากเหมาะสำหรับความสัมพันธ์ระหว่างหลายต่อหลาย และให้การค้นหาที่มีประสิทธิภาพภายในแต่ละคอลเล็กชัน
-
ข้อจำกัด: การรับข้อมูลที่เรียงตามลำดับชั้นตามธรรมชาติอาจมีความซับซ้อนมากขึ้นเรื่อยๆ เมื่อฐานข้อมูลของคุณเติบโตขึ้น
- กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง เช่น คุณอาจสร้างคอลเล็กชันหนึ่งสำหรับผู้ใช้และอีกคอลเล็กชันหนึ่งสำหรับห้องแชทและข้อความไว้ในแอปแชทเดียวกัน
|
- ผู้ใช้ collections_bookmark
ราย
- class alovelace
first : "Ada"
last : "Lovelace"
เกิดเมื่อ : 1815
- class sride
first : "Sally"
ล่าสุด : "Ride"
เกิดในปี 1951
- collections_bookmark ห้องแชท
- ซอฟต์แวร์ class
- collections_bookmark
ข้อความ
- class
message1
from : "alovelace"
content : "..."
- class
message2
from : "sride"
content : "..."
|