现已推出具有 MongoDB 兼容性的 Firestore 企业版!
了解详情。
เลือกโครงสร้างข้อมูล
โปรดทราบว่าเมื่อจัดโครงสร้างข้อมูลใน Cloud Firestore คุณ
จะมีตัวเลือกต่างๆ ดังนี้
- เอกสาร
- คอลเล็กชันหลายรายการ
- คอลเล็กชันย่อยภายในเอกสาร
พิจารณาข้อดีของแต่ละตัวเลือกที่เกี่ยวข้องกับกรณีการใช้งานของคุณ คำแนะนำนี้จะอธิบายโครงสร้างตัวอย่างบางส่วนสำหรับข้อมูลลำดับชั้น
ข้อมูลที่ซ้อนกันในเอกสาร
คุณซ้อนออบเจ็กต์ที่ซับซ้อน เช่น อาร์เรย์หรือแมป ไว้ในเอกสารได้
- ข้อดี: หากคุณมีรายการข้อมูลแบบคงที่ที่เรียบง่ายซึ่งต้องการเก็บไว้ในเอกสาร การตั้งค่านี้จะทำได้ง่ายและช่วยเพิ่มประสิทธิภาพโครงสร้างข้อมูล
-
ข้อจำกัด:
ตัวเลือกนี้ปรับขนาดได้ไม่ดีเท่าตัวเลือกอื่นๆ
โดยเฉพาะอย่างยิ่งหากข้อมูลของคุณเพิ่มขึ้นเมื่อเวลาผ่านไป เมื่อรายการมีขนาดใหญ่ขึ้นหรือเพิ่มขึ้น เอกสารก็จะใหญ่ขึ้นด้วย ซึ่งอาจทำให้เวลาในการดึงข้อมูลเอกสารช้าลง
- กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง ตัวอย่างเช่น ในแอปแชท คุณอาจจัดเก็บห้องแชท 3 ห้องที่ผู้ใช้เข้าชมล่าสุดเป็นรายการที่ซ้อนกันในโปรไฟล์ของผู้ใช้
|
- class alovelace
- name :
first : "Ada"
last : "Lovelace"
born : 1815
rooms :
0 : "Software Chat"
1 : "Famous Figures"
2 : "Famous SWEs"
|
คอลเล็กชันย่อย
คุณสร้างคอลเล็กชันภายในเอกสารได้เมื่อมีข้อมูลที่อาจขยาย
ในอนาคต
- ข้อดี: เมื่อรายการเพิ่มขึ้น ขนาดของเอกสารหลักจะไม่เปลี่ยนแปลง นอกจากนี้ คุณยังมีความสามารถในการค้นหาอย่างเต็มรูปแบบในคอลเล็กชันย่อย
และสามารถออก
การค้นหากลุ่มคอลเล็กชันในคอลเล็กชันย่อยได้
-
ข้อจำกัด: คุณลบคอลเล็กชันย่อยได้ยาก
- กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง ในแอปแชทเดียวกัน เช่น คุณอาจสร้างคอลเล็กชันผู้ใช้หรือข้อความภายในเอกสารห้องแชท
|
- collections_bookmark science
- classซอฟต์แวร์
name : "software chat"
- collections_bookmark
ผู้ใช้
- class
alovelace
first : "Ada"
last : "Lovelace"
- class
sride
first : "Sally"
last : "Ride"`
- class ดาราฟิสิกส์
|
คอลเล็กชันระดับรูท
สร้างคอลเล็กชันที่ระดับรูทของฐานข้อมูลเพื่อจัดระเบียบชุดข้อมูลที่แตกต่างกัน
- ข้อดี: คอลเล็กชันระดับรูทเหมาะสำหรับความสัมพันธ์แบบกลุ่มต่อกลุ่ม
และช่วยให้ค้นหาข้อมูลภายในแต่ละคอลเล็กชันได้อย่างมีประสิทธิภาพ
-
ข้อจำกัด: การรับข้อมูลที่มีลำดับชั้นตามธรรมชาติอาจ
มีความซับซ้อนมากขึ้นเมื่อฐานข้อมูลเติบโตขึ้น
- กรณีการใช้งานที่เป็นไปได้มีอะไรบ้าง ในแอปแชทเดียวกัน
เช่น คุณอาจสร้างคอลเล็กชันหนึ่งสำหรับผู้ใช้ และอีกคอลเล็กชันหนึ่งสำหรับห้องแชทและ
ข้อความ
|
- collections_bookmark
ผู้ใช้
- class alovelace
first : "Ada"
last : "Lovelace"
born : 1815
- class sride
first : "Sally"
last : "Ride"
born : 1951
- collections_bookmark ห้องแชท
- classซอฟต์แวร์
- collections_bookmark
ข้อความ
- class
message1
from : "alovelace"
content : "..."
- class
message2
from : "sride"
content : "..."
|
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-28 UTC
[null,null,["อัปเดตล่าสุด 2025-07-28 UTC"],[],[]]