现已推出与 MongoDB 兼容的 Cloud 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 softwarename : "software chat"
 collections_bookmark
        users
            class
            alovelacefirst : "Ada"
 last : "Lovelace"
 
class
            sridefirst : "Sally"
 last : "Ride"`
 
 
class 天體物理學
        
        
 | 
根層級集合
在資料庫的根層級建立集合,整理不同的資料集。
| 
優點:根層級集合適用於多對多關係,並可在每個集合中提供強大的查詢功能。
限制:隨著資料庫成長,擷取自然階層式資料可能會越來越複雜。可能的用途為何?舉例來說,您可以在同一個即時通訊應用程式中,為使用者建立一個集合,並為聊天室和訊息建立另一個集合。 |  collections_bookmark
    使用者
     class alovelacefirst : "Ada"
 last : "Lovelace"
 born : 1815
 
class sridefirst : "Sally"
 last : "Ride"
 born : 1951
 
collections_bookmark 間會議室
    class 軟體
        collections_bookmark
        訊息
            class
            message1from : "alovelace"
 content : "..."
 
class
            message2from : "sride"
 content : "..."
 
 | 
  
  
  
    
  
 
  
    
    
      
       
    
    
  
  
  除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
  上次更新時間:2025-10-31 (世界標準時間)。
  
  
  
    
      [null,null,["上次更新時間:2025-10-31 (世界標準時間)。"],[],[]]