Skip to content

Category: Firebase

Firebase – Authentication (Code Template)

Firebase Authentication là cloud service cung cấp cho chúng ta chức năng quản lý đăng ký, đăng nhập, cũng như phân quyền rất chi là tiện lợi

So với việc tự implement thì việc sử dụng service này của Google hoàn toàn biến ứng dụng của bạn thành một con thú mà bạn chẳng cần phải động tay chân gì nhiều cả

Bài viết này sẽ chứa toàn là code dành cho ~ người nào đã biết về Firebase Authentication và muốn có resource để look up nhanh

Firestore – Batch & Transaction

Với những ai đã từng sử dụng MySQL, SQL Server thì đều biết những database này đều hỗ trợ cơ chế Transaction. Còn batch, nếu bạn đã biết về Java JDBC thì sẽ biết về batch

Batch là khi bạn muốn write một loạt những action vào database nhưng muốn những action đó luôn luôn được đảm bảo là thành công ! Nếu một action thất bại => Tất cả action khác bị cancel

Transaction thì liên quan đến vấn đều nâng cao hơn là tránh Race Condition (dữ liệu bị ghi đè)

Bài viết này không nói rõ về Transaction là gì nhưng chỉ nó về ~ khái niệm này trong Firestore

Đối với Firestore, về mặt ý nghĩa thì đều giống như cổ điển nhưng cách thức vận hành thì khác. Transaction không ROLL_BACK mà luôn luôn thành công

Cùng tìm hiểu thêm ở phía dưới nào :))

Firestore Pagination – Code Template cho phân trang

// store last document
let lastestDoc = null;

const getNextReviews = async function() {
const ref = db.collection(‘reviews’)
.orderBy(“createdAt”)
.startAfter(lastestDoc || 0)
.limit(6);
const data = await ref.get();

if(data.empty) {
console.log(“No more data to bring up !”)
return;
}

// update lastest doc
lastestDoc = data.docs[data.docs.length – 1];

Firestore Data Modeling – Chọn mô hình data hợp lý

Thú thật mà nói thì cái vấn đề này khá là confuse khi mà bạn chưa bao giờ trải nghiệm hoặc chưa tham khảo một mô hình nào cả !

Trước tiên, ngày hôm nay chúng ta sẽ tìm hiểu về 3 cách modeling data phổ biến nhất trong Firestore : Map, Sub-collection hay Root-level Collection

Đồng thời hiểu về Collection Group là gì ?

Và đừng nhầm lẫn khái niệm & cách sử dụng của Collection Group & Composite Index

Firestore Indexing – Làm sao mà firestore query data nhanh vậy ?

Để đảm bảo rằng tốc độ query luôn luôn là nhanh => Firestore hỗ trợ 1 cơ chế index (đánh số) theo thứ tự các giá trị của field của doc

Chính vì data được sắp xếp theo thứ tự => Việc query, sort diễn ra vô cùng nhanh chóng do không cần thao tác gì thêm

Vd: nếu ta search document(Student) với Age = 5 => Pointer sẽ chạy đến ngay vị trí số 5 trong vài bước với thuật toán gì đó không biết (Binary Search, v.v.v) thay vì chạy từ đầu List đến cuối List

Cùng tìm hiểu xem cách thức sử dụng Index và tối ưu hóa cách sử dụng ngay sau đây