Catch up on everthing we announced at this year's Firebase Summit. Learn more

Cloud Firestore Lite Web SDK

Firestore là một giải pháp cơ sở dữ liệu có khả năng mở rộng tốt để giữ cho dữ liệu được đồng bộ trên các máy khách Web.

Đối với nhiều ứng dụng, hỗ trợ ngoại tuyến được quản lý của Firestore đặc biệt quan trọng, cho phép bạn tạo các ứng dụng đáp ứng hoạt động bất kể độ trễ mạng hoặc kết nối Internet. Tuy nhiên, các SDK giàu tính năng thường có chi phí lớn. Firebase cung cấp gì cho các ứng dụng chỉ cần sử dụng các thao tác tạo, đọc, cập nhật và xóa cơ bản và không cần hỗ trợ ngoại tuyến được quản lý?

Giải pháp: Firestore Lite

Firestore Lite là một Firestore SDK độc lập, nhẹ, chỉ dành cho REST, hỗ trợ tìm nạp tài liệu đơn lẻ, thực thi truy vấn và cập nhật tài liệu, với một phần nhỏ so với kích thước Web SDK thông thường. Firestore Lite bỏ qua bù độ trễ, bộ nhớ đệm ngoại tuyến, tiếp tục truy vấn và trình nghe ảnh chụp nhanh, nhưng đối với các trường hợp sử dụng cụ thể, việc giảm kích thước thư viện và thời gian khởi động tạo ra sự cân bằng lớn.

Nhập Firestore Lite

FireStore Lite là có sẵn thông qua NPM như một phần của SDK mô-đun . Do đó, nó hoàn toàn theo mô-đun và có thể thay đổi dạng cây.

Kiểu nhập sau được hỗ trợ.

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   enableIndexedDbPersistence,
   getDoc,
   updateDoc
} from 'firebase/firestore/lite';

Các tính năng API không được Firestore Lite hỗ trợ

Đối với kích thước và tốc độ, Firestore Lite bỏ qua các tính năng này khỏi SDK Firestore tiêu chuẩn:

  • DocumentSnapshot xử lý sự kiện. Các onSnapshot phương pháp và DocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptionsUnsubscribe đối tượng không được bao gồm.
  • Persistence người giúp đỡ. Các enableIndexedDBPersistence , enableMultiTabIndexedDbPersistence , và clearIndexedDbPersistence phương pháp này không bao gồm.
  • Bó FireStore. Các loadBundle phương pháp và phương pháp có liên quan, và LoadBundleTaskLoadBundleTaskProgress đối tượng không được bao gồm.

Triển khai tìm nạp, truy vấn và cập nhật tài liệu

Sau khi nhập Firestore Lite, bạn có thể thực hiện tất cả các lệnh gọi nhận và cập nhật API quen thuộc. Các trường hợp sử dụng cho thêm dữ liệulấy dữ liệu tất cả được áp dụng.

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');

Khi nào sử dụng Firestore Lite

Có thể rất khó để quyết định khi nào nên từ bỏ các tính năng lưu trữ và lưu trữ ngoại tuyến của SDK Firestore tiêu chuẩn. Bạn nên hiểu các tính năng này trước khi quyết định đổi chúng để lấy chi phí thấp hơn của Firestore Lite. Nói chung, hãy cân nhắc các yếu tố này khi quyết định có sử dụng Firestore Lite hay không:

  • Trạng thái trực tuyến - FireStore Lite là tốt cho các ứng dụng mà không làm cần cập nhật trực tiếp và có khả năng kết nối.
  • Hạn chế kích thước - FireStore Lite là tuyệt vời nếu bạn muốn giảm bớt tổng Javascript kích thước gói của bạn.