SDK เว็บ Cloud Firestore Lite

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

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

วิธีแก้ไข: Firestore Lite

Firestore Lite เป็น Firestore SDK แบบสแตนด์อโลนน้ำหนักเบาแบบสแตนด์อโลนเท่านั้น ซึ่งรองรับการดึงเอกสารเดี่ยว การดำเนินการสืบค้น และการอัปเดตเอกสาร โดยมีขนาดเพียงเสี้ยวหนึ่งของขนาด 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 ที่คุ้นเคยทั้งหมดรับและอัปเดตการโทรได้ กรณีการใช้งานสำหรับ การเพิ่มข้อมูล และ รับข้อมูล ทั้งหมดมีผลบังคับใช้

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