SDK เว็บของ Cloud Firestore Lite

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