Catch up on highlights from Firebase at Google I/O 2023. 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ộ giữa 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 xây dựng các ứng dụng đáp ứng hoạt động bất kể độ trễ của mạng hoặc kết nối Internet. Nhưng SDK giàu tính năng có chi phí lớn. Firebase cung cấp những 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 SDK Firestore nhẹ, độc lập, 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 kích thước SDK Web thông thường. Firestore Lite bỏ qua bù độ trễ, lưu vào bộ nhớ đệm ngoại tuyến, tiếp tục truy vấn và trình xử lý ả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 tuyệt vời.

Nhập Firestore Lite

Firestore Lite có sẵn qua npm như một phần của SDK mô-đun . Do đó, nó hoàn toàn theo mô-đun và có thể rung cây.

Kiểu nhập khẩu sau đây được hỗ trợ.

import { initializeApp } from "firebase/app";
import {
   getFirestore,
   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 từ SDK Firestore tiêu chuẩn:

  • Trình xử lý sự kiện DocumentSnapshot . Phương thức onSnapshotDocumentChange , SnapshotListenerOptions , SnapshotMetadata , SnapshotOptionsUnsubscribe không được bao gồm.
  • Những người giúp đỡ kiên trì . Không bao gồm các phương thức enableIndexedDBPersistence , enableMultiTabIndexedDbPersistenceclearIndexedDbPersistence .
  • Gói Firestore . Phương thức loadBundle và các phương thức liên quan cũng như các đối tượng LoadBundleTaskLoadBundleTaskProgress không được bao gồm.

Thực hiện tìm nạp tài liệu, truy vấn và cập nhật

Sau khi nhập Firestore Lite, bạn có thể thực hiện tất cả lệnh gọi nhận và cập nhật API quen thuộc. Tất cả các trường hợp sử dụng để thêm dữ liệunhận dữ liệu đều đượ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 nên sử dụng Firestore Lite

Có thể khó quyết định khi nào nên bỏ các tính năng lưu vào bộ nhớ đệm 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 phù hợp với các ứng dụng không cần cập nhật trực tiếp và có kết nối.
  • Hạn chế về kích thước - Firestore Lite rất phù hợp nếu bạn muốn giảm kích thước gói JavaScript tổng thể của mình.