iT邦幫忙

2023 iThome 鐵人賽

DAY 26
0
SideProject30

一起去遛狗系列 第 26

【一起去遛狗】Day 25 Firestore 獲取資料

  • 分享至 

  • xImage
  •  

昨日嘗試寫入資料,今天就要把資料拿出來看看了!

Cloud Firestore 有三種方式可以取得資料

  • 一次性取得資料: 只需調用 Cloud Firestore 提供的方法就可以獲取資料,但這種方法不會即時更新資料。

  • 設置監聽器: 這是一個即時更新的方法。當資料發生變化時,應用程序會立即得到通知。

  • 數據包加載: 這是指用外部資源批量導入資料到 Firestore 的方法。如果開發者有一大堆先前存在的資料,並希望將其快速導入 Firestore 時非常有用。

getDoc() 取得資料

利用 getDoc() 的方式簡單的取得資料,只要定義好資料庫的 collection、subcollection,就可以拿到 Document 裡面的資料瞜

567U5aM

import db from "../db/firebase";
import { doc, getDoc } from "firebase/firestore";
import { onMounted } from "vue";

onMounted(async () => {
  try {
    const docRef = doc(db, "users", "member");
    const docSnap = await getDoc(docRef);

    if (docSnap.exists()) {
      console.log("Document data:", docSnap.data()); //docSnap.data 可以獲取 Document 的資料
    } else {
      console.log("No such document!");
    }
  } catch (error) {
    console.error("Error getting document:", error);
  }
});

離線緩存模式

在獲取資料執行 get() 方法,預設是系統會嘗試從 Firestore 資料庫中拿取最新的資料,若應用處於離線狀態或網路請求超時時,會自動用本地的離線緩存作為資料來源。但使用 getDocFromCache() 可以忽略離線緩存並從 Firestore 資料庫中獲取資料,此功能的存在是讓開發者能夠更靈活控制資料的讀取,特別是在考慮到應用的效能和用戶體驗時。例如,如果某些資料經常變動,可能會希望直接從雲端獲取以確保最新資料,但對於不經常變動的資料,則會選擇從本地緩存讀取,以提高速度和效能。


上一篇
【一起去遛狗】Day 24 Firestore 新增資料
下一篇
【一起去遛狗】Day 26 寫入地理位置
系列文
一起去遛狗30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言