HỆ THỐNG HỌC TẬP CHUYÊN NGÀNH

Ứng dụng NoSQL với React

Giảng viên: ThS Lê Thanh Sơn

Hệ thống bài giảng & môi trường lab phục vụ học tập chính khóa. Vui lòng liên hệ giảng viên phụ trách nếu bạn chưa có thông tin đăng nhập.

Học phần chuyên sâu React & NoSQL

Ứng dụng NoSQL với React

Chương trình đào tạo Công nghệ thông tin & Lập trình ứng dụng di động

Nền tảng NoSQL & Tích hợp ReactJS đến React Native Chuyên Nghiệp

Chào mừng bạn đến với chuyên trang bài giảng & phòng thực hành tương tác trực quan. Hệ thống bao quát kiến thức từ bản chất NoSQL (MongoDB, Firebase Firestore) đến quản lý Component, State, Hook trong React và kỹ thuật xác thực Firebase Authentication theo người dùng.

Bài học giáo trình 4 Chuyên đề
Thực hành nâng cao 10+ Kỹ thuật
Lab Tương Tác Mô phỏng CRUD
Trắc nghiệm Kiểm tra ngay
KỸ NĂNG IT Giảng viên phụ trách

ThS Lê Thanh Sơn

Chuyên gia Lập trình Di động & Cloud Database

📚 4 Bài chuyên sâu • ⚡ MERN & Firestore • 🎯 React Native
Chuyên đề 01 • Bài giảng ThS Lê Thanh Sơn

Nền Tảng Cơ Sở Dữ Liệu NoSQL Dành Cho Ứng Dụng Di Động

MongoDB Community & Compass

Cơ sở dữ liệu (Database) là kho lưu trữ và điều phối dữ liệu cốt lõi của một hệ thống số. Đối với lập trình viên React & React Native, mô hình NoSQL dạng tài liệu (Document-based) là bước chuẩn bị hoàn hảo nhất nhờ sự tương thích tự nhiên với cấu trúc dữ liệu JSON trong JavaScript.

1. Database

Hệ thống lưu trữ cấp cao nhất (Container) chứa toàn bộ các Collection con (ví dụ: studio, ThanhSonStudioDB).

2. Collection

Tập hợp các Document cùng miền nghiệp vụ, tương đương với Table trong SQL nhưng không ép buộc schema cứng nhắc.

3. Document

Bản ghi dữ liệu cụ thể dạng BSON/JSON, tương đương Row trong SQL. Luôn sở hữu một trường khóa chính độc nhất _id.

4. Field

Cặp thuộc tính Key - Value bên trong Document. Giá trị có thể là string, number, boolean, array hoặc object con lồng nhau.

Bảng Ánh Xạ Thuật Ngữ Giữa SQL Và NoSQL (MongoDB / Firestore)

Đặc tính / Khái niệm Cơ sở dữ liệu Quan Hệ (RDBMS / SQL) Cơ sở dữ liệu Phi Quan Hệ (NoSQL / MongoDB)
Nơi chứa tổng Database Database
Cấu trúc nhóm Table (Bảng với cột định sẵn) Collection (Không ép cấu trúc cột)
Đơn vị bản ghi Row / Record (Hàng) Document (BSON / JSON Object)
Thuộc tính dữ liệu Column (Cột cố định kiểu) Field (Key-Value linh hoạt)
Khóa chính nhận dạng PRIMARY KEY (id tự tăng hoặc UUID) _id (ObjectId tự sinh trong MongoDB)

Hệ Thống Thao Tác CRUD Trực Tiếp Trên MongoDB Shell (mongosh)

Trong MongoDB, mọi thao tác truy vấn đều tuân thủ cú pháp cốt lõi: db.<Tên_Collection>.<Hành_động>(). Các ví dụ thực hành được thầy Lê Thanh Sơn biên soạn trực tiếp theo bối cảnh quản lý Studio chụp ảnh cưới:

C • insertOne (Thêm 1 dịch vụ)
use("studio");
db.DichVu.insertOne({
  maDichVu: "DV01",
  tenDichVu: "Chụp ảnh cưới ngoại cảnh Tây Ninh",
  giaTien: 5500000,
  trangThai: true
});
C • insertMany (Thêm nhiều dịch vụ)
db.DichVu.insertMany([
  { maDichVu: "DV02", tenDichVu: "Thuê váy cưới cao cấp", giaTien: 1200000 },
  { maDichVu: "DV03", tenDichVu: "Trang điểm cô dâu", giaTien: 800000, khuyenMai: "Tặng kèm hoa cài tóc" }
]);
R • find (Truy vấn dữ liệu)
// Lấy toàn bộ document
db.DichVu.find({});

// Lọc dịch vụ có giá tiền > 1.000.000 VNĐ
db.DichVu.find({ giaTien: { $gt: 1000000 } });
U & D • updateOne & deleteOne
// Cập nhật: Tham số 1 (Bộ lọc), Tham số 2 ($set)
db.DichVu.updateOne(
  { maDichVu: "DV01" },
  { $set: { giaTien: 6000000 } }
);

// Xóa 1 document theo mã dịch vụ
db.DichVu.deleteOne({ maDichVu: "DV03" });