Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

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

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

โปรดจำไว้ว่า เมื่อคุณจัดโครงสร้างข้อมูลใน Cloud Firestore คุณมีตัวเลือกต่างๆ ดังต่อไปนี้

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

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

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

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

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

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

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

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


    • วิชา ดาราศาสตร์
      • ...

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

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

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