EP01 | Firebase 中的資料庫 - Cloud Firestore 的妙用

什麼是 Cloud Firestore ?

官網上的介紹:

Cloud Firestore 是一個靈活、可擴展的數據庫,用於 Firebase 和 Google Cloud 的移動、網絡和服務器開發。可通過實時偵聽器使您的數據在客戶端應用程序之間保持同步,並為移動設備和網絡提供離線支持,因此您可以構建響應式應用程序,無論網絡延遲或互聯網連接如何。

Cloud Firestore 的特色:

  • 靈活性:支持靈活的分層數據結構。將您的數據存儲在文檔中,並組織成集合。除了子集合之外,文檔還可以包含複雜的嵌套對象。
  • 表達查詢:可以使用查詢來檢索單個特定文檔或檢索集合中與您的查詢參數匹配的所有文檔。查詢可以包括多個鏈接的過濾器,並結合過濾和排序。默認情況下,它們也被編入索引,因此查詢性能與結果集的大小成正比,而不是與數據集的大小成正比。
  • 實時更新:使用數據同步來更新任何連接設備上的數據。
  • 離線支持:緩存您的應用正在使用的數據,因此即使設備處於離線狀態,該應用也可以寫入、讀取、偵聽和查詢數據。當設備重新聯機時,Cloud Firestore 會將所有本地更改同步回 Cloud Firestore。
  • 為擴展而設計:自動多區域數據複製、一致性保證、原子批處理操作和真實事務支持。處理來自世界上最大的應用程序的最棘手的數據庫工作負載。

Cloud Firestore 及 Realtime Database 的差異比較可以參考選擇一個數據庫:Cloud Firestore 或實時數據庫

Firestore 數據模型

數據(data)以 key-value 形式被儲存在文檔(document)中。而文檔(document)會被儲存在集合(collection)中(一個集合中可以有許多文檔)。

在文檔中除了添加數據外,也可以在文檔中新增子集合,如此一來就可以形成嵌套數據。

Cloud Firestore 也提示到:

同一集合中的文檔都可以包含不同的字段或在這些字段中存儲不同類型的數據。但是,最好在多個文檔中使用相同的字段和數據類型,以便可以更輕鬆地查詢文檔。

簡述使用 Firestore 步驟

  1. 集成 Cloud Firestore SDK

  2. 保護您的數據

  3. 添加數據

  4. 獲取數據

創建第一個 Cloud Firestore ?

  1. 前往主控台(英語版:Go To Console)
  1. 創建 Firebase 項目(英語版:Creat a project)
  1. 按照螢幕說明建立專案
  1. 建立 Cloud Firestore 資料庫
  1. 添加資料
  1. 得到 Cloud Firestore 的 firebaseConfig
  1. 將 SDK 設定和配置放入到本地的專案裡並進行初始化

補充說明: 後來才發現 SDK 裡給的 JS 是 firebase-analytics ,所以導致一開始要操作 firestore 時不成功,請務必記得自己添加 firestore 這個 Library 。

使用 var db = firebase.firestore(); 將 Firestore 初始化

1
<script src="https://www.gstatic.com/firebasejs/8.6.8/firebase-firestore.js"></script>

參考資料:

Cloud Firestore

開始使用 Cloud Firestore