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 โดยรวม