เลือกโครงสร้างข้อมูล

โปรดทราบว่าเมื่อคุณจัดโครงสร้างข้อมูลใน Cloud Firestore มีตัวเลือกที่แตกต่างกัน 2-3 ตัวเลือกดังนี้

  • เอกสาร
  • คอลเล็กชันหลายรายการ
  • คอลเล็กชันย่อยภายในเอกสาร

พิจารณาข้อดีของแต่ละตัวเลือก ที่เกี่ยวข้องกับกรณีการใช้งานของคุณ ตัวอย่างโครงสร้างสำหรับข้อมูลลำดับชั้น ตามที่ระบุไว้ในคู่มือนี้

ข้อมูลที่ฝังในเอกสาร

คุณสามารถฝังวัตถุที่ซับซ้อน เช่น อาร์เรย์หรือแผนที่ภายในเอกสารได้

  • ข้อดี: หากคุณมีรายการข้อมูลที่เรียบง่ายและคงที่ซึ่ง ที่ต้องการเก็บไว้ในเอกสาร ตั้งค่าได้ง่ายและมีประสิทธิภาพ โครงสร้างข้อมูลของคุณ
  • ข้อจำกัด การวัดนี้ไม่สามารถปรับขนาดได้เท่ากับตัวเลือกอื่นๆ โดยเฉพาะเมื่อข้อมูลของคุณขยายออกไปเรื่อยๆ เมื่อมีรายการมากขึ้นหรือเพิ่มขึ้น เอกสารก็ขยายใหญ่ขึ้นซึ่งอาจทำให้ดึงข้อมูลเอกสารช้าลง
  • กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง เช่น ในแอปแชท อาจจัดเก็บห้องแชท 3 ห้องที่ผู้ใช้เข้าชมล่าสุดเป็นรายการซ้อนกัน โปรไฟล์ของพวกเขา
  • แอโลเวเลซ
    • ชื่อ :
      ชื่อแรก : "อดา"
      สุดท้าย : "Lovelace"
      เกิด : 1815
      ห้อง :
      0 : "แชทผ่านซอฟต์แวร์"
      1 : "บุคคลที่มีชื่อเสียง"
      2 : "SWE ชื่อดัง"

คอลเล็กชันย่อย

คุณสามารถสร้างคอลเล็กชันภายในเอกสารเมื่อมีข้อมูลที่อาจขยายได้ เมื่อเวลาผ่านไป

  • ข้อดี: เมื่อรายการใหญ่ขึ้น ขนาดของรายการหลัก เอกสารไม่เปลี่ยนแปลง คุณยังจะได้รับความสามารถในการค้นหาอย่างสมบูรณ์ในคอลเล็กชันย่อย และคุณสามารถออก การค้นหากลุ่มคอลเล็กชันในคอลเล็กชันย่อยทั้งหมด
  • ข้อจำกัด: คุณลบคอลเล็กชันย่อยได้ยาก
  • กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง ในแอปแชทเดียวกัน เช่น คุณอาจสร้างคอลเล็กชันของผู้ใช้หรือข้อความภายในห้องแชท เอกสาร
  • วิทยาศาสตร์
    • ซอฟต์แวร์
      ชื่อ : "แชทด้วยซอฟต์แวร์"
      • ผู้ใช้
        • พืชอโลเวเลซ
          ชื่อแรก : "อดา"
          สุดท้าย : "Lovelace"
        • ไพรด์
          อันแรก : "ส้ม"
          สุดท้าย : "โดยสาร"`


    • ฟิสิกส์ดาราศาสตร์
      • ...

คอลเล็กชันระดับราก

สร้างคอลเล็กชันที่ระดับรากของฐานข้อมูลเพื่อจัดระเบียบข้อมูลที่แตกต่างกัน เซ็ต

  • ข้อดี: คอลเล็กชันระดับรูทเหมาะสำหรับหลายต่อหลาย ความสัมพันธ์กัน และช่วยให้การค้นหาที่มีประสิทธิภาพภายในแต่ละคอลเล็กชัน
  • ข้อจำกัด: การรับข้อมูลตามลำดับชั้นตามปกติ มีความซับซ้อนมากขึ้นเรื่อยๆ เมื่อฐานข้อมูลของคุณเติบโต
  • กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง ในแอปแชทเดียวกัน ตัวอย่างเช่น คุณอาจสร้างคอลเล็กชันหนึ่งสำหรับผู้ใช้ และอีกคอลเล็กชันหนึ่งสำหรับห้อง และ ข้อความ
  • ผู้ใช้
    • แอโลเวเลซ
      ชื่อแรก : "อดา"
      สุดท้าย : "Lovelace"
      เกิด : 1815
    • คะแนน
      อันแรก : "ส้ม"
      สุดท้าย : "โดยสาร"
      เกิด : 1951
  • ห้องแชท
    • ซอฟต์แวร์
      • ข้อความ
        • ข้อความ 1
          จาก : "alovelace"
          เนื้อหา : "..."
        • ข้อความ 2
          จาก : "sride"
          เนื้อหา : "..."