選擇資料結構

請記住,當您在 Cloud Firestore 中建立資料時,您有幾個不同的選項:

  • 文件
  • 多個收藏
  • 文檔中的子集合

考慮每個選項與您的用例相關的優點。本指南概述了分層資料的一些範例結構。

文件中的嵌套數據

您可以在文件中嵌套複雜的對象,例如陣列或映射。

  • 優點:如果您想要在文件中保留簡單、固定的資料列表,則可以輕鬆設定並簡化您的資料結構。
  • 限制:這不像其他選項那樣可擴展,特別是當您的資料隨著時間的推移而擴展時。隨著清單變大或不斷增長,文件也會隨之增長,這可能會導致文件檢索時間變慢。
  • 可能的用例是什麼?例如,在聊天應用程式中,您可以將使用者最近造訪的 3 個聊天室作為嵌套清單儲存在其個人資料中。
  • 愛樂花邊
    • 姓名 :
      第一個:“艾達”
      最後:《洛芙蕾絲》
      出生日期: 1815
      房間:
      0:“軟體聊天”
      1:“著名人物”
      2:“著名瑞典人”

子集合

當您的資料可能會隨著時間的推移而擴展時,您可以在文件中建立集合。

  • 優點:隨著清單的成長,父文檔的大小不會改變。您還可以獲得子集合的完整查詢功能,並且可以跨子集合發出集合組查詢
  • 限制:您無法輕鬆刪除子集合。
  • 可能的用例是什麼?例如,在同一個聊天應用程式中,您可以在聊天室文件中建立使用者或訊息的集合。
  • 科學
    • 軟體
      名稱:《聊天軟體》
      • 用戶
        • 愛樂花邊
          第一個:“艾達”
          最後:《洛芙蕾絲》
        • 滑行
          第一個:“莎莉”
          最後:「騎行」`


    • 天文物理學

根級集合

在資料庫的根層級建立集合來組織不同的資料集。

  • 優點:根級集適合用於多對多關係,並在每個集合內提供強大的查詢。
  • 限制:隨著資料庫的成長,取得自然分層的資料可能會變得越來越複雜。
  • 可能的用例是什麼?例如,在同一個聊天應用程式中,您可以為使用者建立一個集合,為房間和訊息建立另一個集合。
  • 用戶
    • 愛樂花邊
      第一個:“艾達”
      最後:《洛芙蕾絲》
      出生日期: 1815
    • 滑行
      第一個:“莎莉”
      最後:“騎行”
      出生日期:1951年
  • 房間
    • 軟體
      • 訊息
        • 留言1
          出自:《愛戀》
          內容 : ”...”
        • 留言2
          出自:《滑行》
          內容 : ”...”