SDK เว็บของ Cloud Firestore Lite

Firestore เป็นโซลูชันฐานข้อมูลที่ดีซึ่งรองรับการปรับขนาดเพื่อให้ซิงค์ข้อมูลกับไคลเอ็นต์ของเว็บได้

การสนับสนุนแบบออฟไลน์ที่มีการจัดการของ Firestore มีความสำคัญอย่างยิ่งสำหรับแอปหลายแอป เนื่องจากช่วยให้คุณสร้างแอปที่ตอบสนองได้ไม่ว่าจะมีเวลาในการตอบสนองของเครือข่ายหรือการเชื่อมต่ออินเทอร์เน็ตอย่างไรก็ตาม แต่ SDK ที่มีฟีเจอร์หลากหลายนั้นต้องใช้ต้นทุนสูง Firebase มอบบริการอะไรสำหรับแอปที่จำเป็นต้องใช้เพียงขั้นพื้นฐานในการสร้าง อ่าน อัปเดต และลบการดำเนินการ และไม่ต้องการการสนับสนุนออฟไลน์ที่มีการจัดการ

โซลูชัน: Firestore Lite

Firestore Lite เป็น SDK ของ Firestore แบบ REST เท่านั้นที่แยกออกมาต่างหากและมีน้ำหนักเบา ซึ่งรองรับการดึงข้อมูลเอกสารรายการเดียว การดำเนินการค้นหา และการอัปเดตเอกสาร โดยมีขนาดเพียงเศษเสี้ยวของ Web SDK ปกติ Firestore Lite จะไม่ใช้การชดเชยเวลาในการตอบสนอง แคชแบบออฟไลน์ การค้นหาต่อ และเครื่องมือรับฟังสแนปชอต แต่สำหรับบางกรณีการใช้งาน การลดขนาดไลบรารีและเวลาเริ่มต้นจะมีประโยชน์มาก

นำเข้า Firestore Lite

Firestore Lite พร้อมใช้งานผ่าน npm โดยเป็นส่วนหนึ่งของ SDK แบบแยกส่วน ด้วยเหตุนี้ จึงเป็นแบบโมดูลได้อย่างสมบูรณ์และสามารถแยกโหลดได้

ระบบรองรับรูปแบบการนําเข้าต่อไปนี้

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

ฟีเจอร์ API ที่ Firestore Lite ไม่รองรับ

ในส่วนของขนาดและความเร็ว Firestore Lite จะละเว้นฟีเจอร์เหล่านี้จาก Firestore SDK มาตรฐาน

  • ตัวแฮนเดิลเหตุการณ์ DocumentSnapshot โดยไม่รวมเมธอด onSnapshot และออบเจ็กต์ DocumentChange, SnapshotListenerOptions, SnapshotMetadata, SnapshotOptions และ Unsubscribe
  • ตัวช่วยการคงสถานะ โดยจะไม่รวมเมธอด enableIndexedDBPersistence, enableMultiTabIndexedDbPersistence และ clearIndexedDbPersistence
  • แพ็กเกจ Firestore โดยจะไม่รวมเมธอด loadBundle และเมธอดที่เกี่ยวข้อง รวมถึงออบเจ็กต์ LoadBundleTask และ LoadBundleTaskProgress

ใช้การดึงข้อมูล การค้นหา และการอัปเดตเอกสาร

หลังจากนําเข้า Firestore Lite แล้ว คุณจะเรียกใช้ API get และ update ที่คุ้นเคยทั้งหมดได้ กรณีการใช้งานสําหรับการเพิ่มข้อมูลและการรับข้อมูลทั้งหมดจะมีผล

import {
 getFirestore,
 getDoc,
 updateDoc,
 doc
} from '@firebase/firestore/lite';

const firestore = getFirestore(app);
const docRef = doc(firestore, 'collection/doc');
const docSnap = await getDoc(docRef);
await updateDoc(docRef, "field", 'value');

กรณีที่ควรใช้ Firestore Lite

การเลือกช่วงเวลาที่เหมาะสมในการเลิกใช้งานฟีเจอร์การแคชและถาวรแบบออฟไลน์ของ Firestore SDK แบบมาตรฐานอาจเป็นเรื่องยาก คุณควรทำความเข้าใจฟีเจอร์เหล่านี้ก่อนตัดสินใจที่จะแลกเปลี่ยนฟีเจอร์เหล่านี้เพื่อลดค่าใช้จ่ายเพิ่มเติมของ Firestore Lite โดยทั่วไป ให้ชั่งน้ำหนักปัจจัยเหล่านี้เมื่อตัดสินใจว่าจะใช้ Firestore Lite หรือไม่

  • สถานะออนไลน์ - Firestore Lite เหมาะสำหรับแอปที่ไม่ต้องการอัปเดตแบบเรียลไทม์และมีการเชื่อมต่อ
  • ข้อจำกัดด้านขนาด - Firestore Lite เหมาะอย่างยิ่งหากคุณต้องการลดขนาดกลุ่ม JavaScript โดยรวม