Firestore เป็นโซลูชันฐานข้อมูลที่ดีซึ่งรองรับการปรับขนาดเพื่อให้ซิงค์ข้อมูลในเว็บต่างๆ ได้ ลูกค้า
การรองรับการใช้งานออฟไลน์ที่มีการจัดการของ Firestore สำหรับแอปจำนวนมากนั้นสำคัญมาก ให้คุณสร้างแอปที่ปรับเปลี่ยนตามอุปกรณ์ซึ่งทำงานได้ไม่ว่าเวลาในการตอบสนองของเครือข่ายหรือ การเชื่อมต่ออินเทอร์เน็ต แต่ SDK ที่มีฟีเจอร์มากมายนั้นมีต้นทุนสูง อะไร Firebase เสนอสำหรับแอปที่ต้องใช้เพียงการสร้าง อ่าน อัปเดต ขั้นพื้นฐานเท่านั้น และลบการดำเนินการ หรือไม่ต้องการการสนับสนุนแบบออฟไลน์ที่มีการจัดการ
วิธีแก้ไข: Firestore Lite
Firestore Lite เป็น Firestore SDK แบบสแตนด์อโลนสำหรับ REST เท่านั้น น้ำหนักเบาซึ่ง รองรับการดึงข้อมูลเอกสารรายการเดียว การดำเนินการค้นหา และการอัปเดตเอกสาร ของขนาดเว็บ SDK ปกติเป็นเศษส่วน Firestore Lite ละเว้นการชดเชยเวลาในการตอบสนอง การแคชแบบออฟไลน์ การเริ่มการค้นหาอีกครั้ง และ Listener ของสแนปชอต แต่สำหรับ การลดขนาดไลบรารีและเวลาในการเริ่มต้นทำงานส่งผลดีต่อธุรกิจ
นำเข้า Firestore Lite
Firestore Lite มีให้บริการผ่าน npm โดยเป็นส่วนหนึ่งของ SDK แบบแยกส่วน ใช่เลย ดังนั้นจึงสามารถแยกส่วนได้และสั่นด้วยต้นไม้ได้
สนับสนุนรูปแบบการนำเข้าต่อไปนี้
import { initializeApp } from "firebase/app";
import {
getFirestore,
getDoc,
updateDoc
} from 'firebase/firestore/lite';
ฟีเจอร์ API ไม่รองรับใน Firestore Lite
ในส่วนของขนาดและความเร็ว Firestore Lite จะละเว้นฟีเจอร์เหล่านี้จากมาตรฐาน SDK ของ Firestore
- เครื่องจัดการเหตุการณ์ 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 โดยรวม