Firebase is back at Google I/O on May 10! Register now

Cloud Firestore Lite Web SDK

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

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 โดยรวมของคุณ