選擇資料結構

請記住,在 Cloud Firestore 中建構資料結構時 有幾個不同選項:

  • 文件
  • 多個集合
  • 文件中的子集合

思考各選項的優點 可以更準確地描述用途幾個階層式資料結構範例 也會深入說明

文件中的巢狀資料

您可以在文件中將複雜的物件 (例如陣列或地圖) 建立巢狀結構。

  • 優點:如果手邊有簡單的固定資料清單 可以輕鬆設定及簡化 您的資料結構
  • 限制: 不如其他選項來擴充 尤其在資料隨時間增加時更是如此隨著清單變大或增加 文件也會不斷成長,導致文件擷取速度變慢。
  • 可能的用途為何?以即時通訊應用程式為例 可能會將使用者最近造訪的 3 個聊天室儲存為巢狀清單, 他們的個人資料。
  • 阿洛伐克
    • 姓名:
      第一個:「Ada」
      姓氏:「Lovelace」
      出生:1815
      會議室:
      0 : "軟體即時通訊"
      1: 「知名人物」
      2: "超棒的軟糖"

子集合

如果資料可以擴展成文件範圍,你可以在文件中建立集合 長期下來。

  • 優點:隨著名單的增加,父項的大小 也不會變更。您也可以取得子集合的完整查詢功能、 您可以核發 跨子集合集合群組查詢。
  • 限制:您無法輕鬆刪除子集合。
  • 可能的用途為何?在同一個即時通訊應用程式中,使用者可以 例如,您可以在聊天室中建立使用者集合或訊息 文件。
  • 科學
    • 軟體
      name : "software chat"
      • 位使用者
        • 阿洛伐克
          第一個:「Ada」
          最後一項:「Lovelace」
        • 騎乘
          第一個:「小莎」
          last : "乘車"`


    • 天文物理學
      • ...

根層級集合

在資料庫的根層級建立集合,以便整理不同的資料 運用 AI 開發原則審查系統

  • 優點:根層級集合適用於多對多 建立感情關係,並在每個集合中提供強大的查詢功能。
  • 限制:取得自然階層的資料。 變得越來越複雜。
  • 可能的用途為何?在同一個即時通訊應用程式中 例如為不同使用者 為聊天室和 訊息。
  • 位使用者
    • 阿洛伐克
      第一個:「Ada」
      最後一項:「Lovelace」
      出生:1815 年
    • 搭乘
      第一個:「小莎」
      姓氏:"搭乘"
      出生:1951 年
  • 個房間
    • 軟體
      • 訊息
        • 訊息 1
          寄件者:「阿洛伐克」
          內容:「...」
        • 訊息 2
          出發地:"乘車"
          內容:「...」