hocvietcode.com
  • Trang chủ
  • Học lập trình
    • Lập trình C/C++
    • Cấu trúc dữ liệu và giải thuật
    • Lập trình HTML
    • Lập trình Javascript
      • Javascript cơ bản
      • ReactJS framework
      • AngularJS framework
      • Typescript cơ bản
      • Angular
    • Lập trình Mobile
      • Lập Trình Dart Cơ Bản
        • Dart Flutter Framework
    • Cơ sở dữ liệu
      • MySQL – MariaDB
      • Micrsoft SQL Server
      • Extensible Markup Language (XML)
      • JSON
    • Lập trình PHP
      • Lập trình PHP cơ bản
      • Laravel Framework
    • Lập trình Java
      • Java Cơ bản
    • Lập trình C#
      • Lập Trình C# Cơ Bản
      • ASP.NET Core MVC
    • Machine Learning
  • WORDPRESS
    • WordPress cơ bản
    • WordPress nâng cao
    • Chia sẻ WordPress
  • Kiến thức hệ thống
    • Microsoft Azure
    • Docker
    • Linux
  • Chia sẻ IT
    • Tin học văn phòng
      • Microsoft Word
      • Microsoft Excel
    • Marketing
      • Google Adwords
      • Facebook Ads
      • Kiến thức khác
    • Chia sẻ phần mềm
    • Review công nghệ
    • Công cụ – tiện ích
      • Kiểm tra bàn phím online
      • Kiểm tra webcam online
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • MongoDB
Giới thiệu mongoDB

Giới thiệu mongoDB

  • 03-02-2026
  • Toanngo92
  • 0 Comments

Mục lục

  • 🎯 Mục tiêu học tập (Learning Objectives)
    • Tổng quan về cơ sở dữ liệu
    • Vì sao NoSQL ra đời?
    • 1.1 Cơ sở dữ liệu (Databases)
      • 🔹 Cơ sở dữ liệu phân cấp (Hierarchical)
      • 🔹 Cơ sở dữ liệu quan hệ (Relational)
      • 🔹 Cơ sở dữ liệu hướng đối tượng (Object-oriented)
      • 🔹 Cơ sở dữ liệu mạng (Network)
      • 🔹 Cơ sở dữ liệu NoSQL
    • So sánh CSDL Quan hệ và NoSQL
      • 📊 Bảng 1.1: So sánh Cơ sở dữ liệu Quan hệ và NoSQL
    • 1.2 Tổng quan về MongoDB
    • Các loại cơ sở dữ liệu NoSQL
    • 1.2.1 Kiến trúc MongoDB (MongoDB Architecture)
      • 🔹 Tầng ứng dụng (Application Layer)
      • 🔹 Tầng dữ liệu (Data Layer)
    • 1.2.2 Database – Collection – Document
      • Ví dụ document mẫu:
    • 1.2.3 Các phiên bản MongoDB (MongoDB Editions)
      • 🔹 MongoDB Server
      • 🔹 MongoDB Cloud – MongoDB Atlas
      • Ưu điểm của MongoDB Atlas
      • MongoDB Shell & MongoDB Compass
  • 1.3 Cài đặt MongoDB Community Server
    • Các bước cài đặt MongoDB 8.0 Community trên Windows
      • Bước 1
      • Bước 2
      • Bước 3
      • Bước 4
      • Bước 5
      • Bước 6
      • Bước 7
      • Bước 8
      • Bước 9
      • Bước 10
      • Bước 11
      • Bước 12
      • Bước 13
  • 1.4 Cài đặt MongoDB Shell
    • Các bước cài MongoDB Shell
      • Bước 1
      • Bước 2
      • Bước 3
      • Bước 4
      • Bước 6
      • Bước 7
      • Bước 8
      • Bước 9
    • 1.5 Thiết lập môi trường (Setting up the Environment)
      • Bước 1
      • Bước 2
    • Khởi động MongoDB Database
    • 1.6 Kết nối MongoDB Server và MongoDB Shell
      • Bước 1
      • Bước 2
      • Bước 3
    • 1.7 Tổng kết (Summary)

🎯 Mục tiêu học tập (Learning Objectives)

Trong phiên học này, học viên sẽ học được cách:

  • Giải thích các loại cơ sở dữ liệu khác nhau
  • Mô tả cách dữ liệu được lưu trữ trong MongoDB Server
  • Giải thích quy trình cài đặt MongoDB Server và MongoDB Shell

Tổng quan về cơ sở dữ liệu

Cơ sở dữ liệu đã được sử dụng trong một thời gian rất dài. Phần lớn các công ty hiện nay sử dụng cơ sở dữ liệu có cấu trúc như SQL Server và Oracle để lưu trữ thông tin liên quan đến sản phẩm, khách hàng, bán hàng, nhân sự, v.v.

Khi cơ sở dữ liệu ngày càng phát triển với lượng thông tin ngày càng lớn, các công ty buộc phải đầu tư thêm phần cứng để lưu trữ dữ liệu ngày càng tăng này. Khi cơ sở dữ liệu “phình to”, một số hệ thống cơ sở dữ liệu hiện có trở nên rất tốn kém để nâng cấp và bảo trì. Ngoài ra, hiệu năng của các cơ sở dữ liệu này bị ảnh hưởng nghiêm trọng khi xử lý khối lượng dữ liệu lớn.


Vì sao NoSQL ra đời?

Để khắc phục các vấn đề mà cơ sở dữ liệu có cấu trúc gặp phải khi dữ liệu ngày càng tăng, các công ty hiện nay đang chuyển sang sử dụng cơ sở dữ liệu NoSQL.

Đặc biệt là các công ty vận hành:

  • Ứng dụng mạng xã hội
  • Ứng dụng game
  • Ứng dụng có lượng người dùng tăng liên tục

MongoDB là một trong những cơ sở dữ liệu NoSQL phổ biến nhất hiện nay.

Phiên học này sẽ:

  • Cung cấp cái nhìn tổng quan về các loại cơ sở dữ liệu
  • Giải thích sự phổ biến ngày càng tăng của NoSQL
  • Trình bày kiến trúc của MongoDB
  • Hướng dẫn các bước cài đặt MongoDB Server và MongoDB Shell

1.1 Cơ sở dữ liệu (Databases)

Dữ liệu (Data) là bất kỳ thông tin nào, và cơ sở dữ liệu (Database) là một tập hợp dữ liệu.
Ví dụ về cơ sở dữ liệu:

  • Danh bạ điện thoại
  • Danh mục sản phẩm

Tùy vào cách dữ liệu được lưu trữ, có nhiều loại cơ sở dữ liệu khác nhau, bao gồm:

🔹 Cơ sở dữ liệu phân cấp (Hierarchical)

  • Lưu trữ dữ liệu theo cấu trúc cha – con, tương tự cây gia phả
  • Ví dụ: Windows Registry

🔹 Cơ sở dữ liệu quan hệ (Relational)

  • Lưu trữ dữ liệu dưới dạng hàng và cột, tạo thành bảng (relation)
  • Ví dụ: MySQL, Oracle

🔹 Cơ sở dữ liệu hướng đối tượng (Object-oriented)

  • Lưu trữ dữ liệu dưới dạng đối tượng, tương tự đối tượng trong ngôn ngữ lập trình hướng đối tượng
  • Ví dụ: PostgreSQL

🔹 Cơ sở dữ liệu mạng (Network)

  • Lưu trữ dữ liệu với nhiều nút cha – con, tạo ra cấu trúc dữ liệu phức tạp
  • Ví dụ: RDM Server

🔹 Cơ sở dữ liệu NoSQL

  • Không sử dụng mô hình quan hệ
  • Dùng để phân tích tập dữ liệu phân tán lớn
  • Ví dụ: MongoDB

So sánh CSDL Quan hệ và NoSQL

📊 Bảng 1.1: So sánh Cơ sở dữ liệu Quan hệ và NoSQL

Thuộc tínhCSDL Quan hệCSDL NoSQL
Lưu trữ dữ liệuHàng và cột trong bảngDocument, graph, key-value
SchemaBắt buộc schema cố địnhSchema động
Khả năng mở rộngMở rộng dọc (vertical scaling)Mở rộng ngang (horizontal scaling)
Hiệu năngChậm khi dữ liệu lớnTruy vấn nhanh do dữ liệu gom chung
Tính nhất quánTuân theo ACIDKhông tuân theo ACID
Ứng dụngThương mại điện tử, quản lý tồn khoGame online, mạng xã hội

1.2 Tổng quan về MongoDB

Xét một ứng dụng mạng xã hội nơi một ngôi sao điện ảnh có hàng triệu người theo dõi đăng ảnh phim mới. Hàng ngàn người dùng bình luận, phản hồi bằng văn bản, ảnh động, emoji.

Nếu dùng RDBMS, dữ liệu sẽ bị chia nhỏ thành nhiều bảng:

  • Bảng thông tin ngôi sao
  • Bảng bài đăng
  • Bảng bình luận

Việc đọc/ghi dữ liệu phức tạp và tốn thời gian → trải nghiệm người dùng kém.

👉 Với MongoDB (NoSQL), tất cả dữ liệu có thể được lưu chung trong một document, giúp:

  • Truy vấn nhanh hơn
  • Cải thiện trải nghiệm người dùng

Các loại cơ sở dữ liệu NoSQL

Có 4 loại chính:

  • Document Database: JSON, BSON, XML
  • Key-Value Database: nhãn – giá trị
  • Wide-column Database: lưu theo cột
  • Graph Database: lưu dữ liệu dạng node và mối quan hệ

MongoDB là Document Database, lưu dữ liệu dạng BSON (Binary JSON).

📌 BSON hỗ trợ nhiều kiểu dữ liệu hơn JSON và được MongoDB sử dụng để lưu trữ document.


1.2.1 Kiến trúc MongoDB (MongoDB Architecture)

MongoDB hoạt động theo 2 tầng:

🔹 Tầng ứng dụng (Application Layer)

  • Giao diện người dùng (Web, Mobile – Android/iOS)
  • MongoDB Driver (kết nối ứng dụng với MongoDB Server)
  • MongoDB Shell (CLI để tương tác DB)

🔹 Tầng dữ liệu (Data Layer)

  • MongoDB Server
  • Storage Engine (đọc/ghi dữ liệu vào bộ nhớ và file)
kiến trúc mongodb

MongoDB hỗ trợ driver cho:
C, C++, .NET, Go, C#, Python, Node.js, …

WiredTiger là storage engine mặc định. Ngoài ra còn có:

  • In-memory
  • MMAPv1
  • Encrypted storage engine

1.2.2 Database – Collection – Document

  • Document ≈ Row trong RDBMS
  • Collection ≈ Table
  • Database ≈ Tập hợp nhiều collection

MongoDB lưu dữ liệu dưới dạng BSON document:

{
  field1: value1,
  field2: value2,
  field3: value3
}

Ví dụ document mẫu:

{
  _id: ObjectId("5099803df3f4948bd2f98391"),
  name: { first: "Larissa", last: "Smith" },
  birth: new Date("Jun 23, 2015"),
  grade: 6,
  marks: [
    { sub: "English", score: 89 },
    { sub: "Math", score: 75 },
    { sub: "Science", score: 92 },
    { sub: "Social Studies", score: 70 }
  ]
}

📌 Document gồm các cặp key – value, là đơn vị dữ liệu cơ bản của MongoDB.


1.2.3 Các phiên bản MongoDB (MongoDB Editions)

🔹 MongoDB Server

  • Community Server: miễn phí
  • Enterprise Server: thương mại, có:
    • Tính năng quản trị nâng cao
    • In-memory storage
    • Bảo mật nâng cao

🔹 MongoDB Cloud – MongoDB Atlas

Cung cấp Database as a Service (DBaaS), hỗ trợ:

  • High availability
  • Scalability

Các sản phẩm trong MongoDB Atlas:

  • Atlas Database
  • Atlas Search
  • Atlas Charts
  • Atlas App Services
  • Atlas Device Sync
  • Atlas Data Lake

Lợi ích:

  • Tiết kiệm thời gian & chi phí
  • API thống nhất
  • Triển khai đa vùng tại hơn 80 khu vực trên AWS, GCP, Azure

Ưu điểm của MongoDB Atlas

  • Tập trung vào phát triển thay vì vận hành: MongoDB Atlas cung cấp các thao tác hạ tầng tự động, đảm bảo tính sẵn sàng (availability), khả năng mở rộng (scalability) và tuân thủ bảo mật (security compliance).
  • Làm việc với dữ liệu như mã nguồn (data as code):
    Trong MongoDB, các document ánh xạ trực tiếp với các object trong code. Do đó:
    • Có thể lưu trữ dữ liệu với bất kỳ cấu trúc nào
    • Schema có thể thay đổi linh hoạt khi bổ sung tính năng mới cho ứng dụng

📌 MongoDB Atlas cho phép triển khai cơ sở dữ liệu trên bất kỳ nhà cung cấp cloud nào, thay vì bị giới hạn vào một lựa chọn duy nhất.


MongoDB Shell & MongoDB Compass

  • MongoDB Shell là một công cụ dòng lệnh (CLI) độc lập, cho phép người dùng:
    • Kết nối tới MongoDB Server
    • Kết nối tới MongoDB Atlas Service
  • MongoDB Compass là giao diện đồ họa (GUI), cho phép người dùng:
    • Kết nối và thao tác với MongoDB Server hoặc MongoDB Atlas một cách trực quan

Ngoài ra, người dùng cũng có thể truy cập trực tiếp nền tảng MongoDB Atlas trên trình duyệt và làm việc mà không cần dùng MongoDB Shell hoặc MongoDB Compass.


1.3 Cài đặt MongoDB Community Server

Khóa học này sử dụng MongoDB 8.0 Community Edition.

Các bước cài đặt MongoDB 8.0 Community trên Windows

Bước 1

Mở trình duyệt và truy cập:

https://www.mongodb.com/try/download/community

Trang tải MongoDB Community Server sẽ hiển thị.

Bước 2

Cuộn xuống và đảm bảo các tùy chọn sau được chọn:

  • Version: 8.0.10 (current)
  • Platform: Windows x64
  • Package: msi

Bước 3

Nhấn Download.

Bước 4

Sau khi tải xong, chạy file cài đặt.

Figure 1.1: Trang Welcome của trình cài đặt MongoDB

Bước 5

Nhấn Next.

Figure 1.2: Trang End-User License Agreement

Bước 6

Chọn checkbox “I accept the terms in the License Agreement”.

Bước 7

Nhấn Next.

Figure 1.3: Trang Choose Setup Type

Bước 8

Chọn Complete.

Figure 1.4: Trang Service Configuration

Bước 9

Nhấn Next.

Figure 1.5: Trang Install MongoDB Compass

Bước 10

Đảm bảo checkbox Install MongoDB Compass được chọn.

Bước 11

Nhấn Next.

Figure 1.6: Trang Ready to Install MongoDB

Bước 12

Nhấn Install.

Figure 1.7: Trang Installing in Progress

Sau khi quá trình cài đặt hoàn tất, trang hoàn thành sẽ hiển thị.

Figure 1.8: Trang Installation Completion

Bước 13

Nhấn Finish.

📌 MongoDB Compass sẽ được cài đặt kèm theo MongoDB Community Server và tự động mở.
👉 Đóng cửa sổ MongoDB Compass tại thời điểm này.


1.4 Cài đặt MongoDB Shell

Sau khi cài MongoDB Server, tiếp tục cài MongoDB Shell (mongosh).

Các bước cài MongoDB Shell

Bước 1

Mở trình duyệt và truy cập:

https://www.mongodb.com/try/download/shell

Trang tải MongoDB Shell hiển thị.

Figure 1.9: Chọn Version – Platform – Package

Bước 2

Cuộn xuống và đảm bảo:

  • Version: 2.5.3
  • Platform: Windows x64 (10+)
  • Package: msi

Bước 3

Nhấn Download.

Bước 4

Sau khi tải xong, chạy file cài đặt.

Figure 1.10: Trang Welcome MongoDB Shell Setup Wizard

Bước 6

Nhấn Next.

Figure 1.11: Trang Destination Folder

Bước 7

Kiểm tra đường dẫn thư mục cài đặt và nhấn Next.

Figure 1.12: Trang Ready to Install MongoDB Shell

Bước 8

Nhấn Install.

Figure 1.13: Trang hoàn tất cài đặt MongoDB Shell

Bước 9

Nhấn Finish để kết thúc trình cài đặt MongoDB Shell.


1.5 Thiết lập môi trường (Setting up the Environment)

Để thiết lập môi trường làm việc cho MongoDB, thực hiện các bước sau:

Bước 1

Mở Windows Command Prompt (cmd.exe) với quyền Administrator.

Bước 2

Tạo thư mục dữ liệu nơi MongoDB sẽ lưu trữ toàn bộ dữ liệu, như minh họa:

C:\> md "\data\db"
Figure 1.14: Tạo thư mục dữ liệu

📌 Lưu ý:

  • Theo mặc định, MongoDB lắng nghe kết nối từ client tại cổng 27017
  • Đường dẫn lưu trữ dữ liệu mặc định là thư mục /data/db

Khởi động MongoDB Database

Để khởi động MongoDB database, chạy lệnh sau:

"C:\Program Files\MongoDB\Server\8.0\bin\mongod.exe" --dbpath="c:\data\db"

Lệnh được thực thi như minh họa trong Hình 1.15.

Figure 1.15: Khởi động MongoDB Database

Tùy chọn --dbpath chỉ ra thư mục lưu trữ dữ liệu.
Nếu MongoDB Server chạy thành công, thông báo waiting for connections sẽ hiển thị như trong Hình 1.16.

Figure 1.16: Thông báo “Waiting for Connections”

Tại thời điểm này, instance mongod của MongoDB đã chạy thành công.

📌 Khuyến nghị:
Thêm đường dẫn sau vào System Path:

C:\Program Files\MongoDB\Server\8.0\bin

Việc này cho phép chạy MongoDB trực tiếp từ command prompt mà không cần phải di chuyển đến thư mục cài đặt mỗi lần.


1.6 Kết nối MongoDB Server và MongoDB Shell

Để kết nối MongoDB Shell với MongoDB Server:

Bước 1

Mở một cửa sổ Command Prompt khác.

Bước 2

Để kết nối MongoDB Shell tới MongoDB deployment đang chạy trên localhost với cổng mặc định 27017, chạy lệnh:

mongosh

Lệnh được thực thi như minh họa trong Hình 1.17.

Figure 1.17: Kết quả lệnh mongosh

MongoDB Shell đã được kết nối thành công tới MongoDB Server.

Bước 3

Để kiểm tra kết nối, chạy lệnh:

show dbs

Danh sách các cơ sở dữ liệu hiện có sẽ hiển thị như trong Hình 1.18.

Figure 1.18: Kết quả lệnh show dbs


1.7 Tổng kết (Summary)

  • Cơ sở dữ liệu NoSQL là cơ sở dữ liệu phi quan hệ, có thể hỗ trợ khối lượng lớn dữ liệu phi cấu trúc.
  • MongoDB là một cơ sở dữ liệu NoSQL mã nguồn mở, lưu trữ dữ liệu dưới định dạng BSON.
  • Driver, Shell và Storage Engine là các thành phần quan trọng để MongoDB hoạt động.
  • MongoDB lưu trữ dữ liệu dưới dạng database, collection và document.
  • MongoDB hoạt động theo hai tầng: tầng ứng dụng và tầng dữ liệu.
  • MongoDB Compass là GUI dùng để tương tác với MongoDB Server.
  • MongoDB Atlas là sản phẩm cloud của MongoDB, cung cấp khả năng tính toán trên nền tảng đám mây.
  • Để thiết lập môi trường MongoDB:
    1. Cài MongoDB Server
    2. Cài MongoDB Shell
    3. Dùng mongosh để kết nối shell với server

Bài tập

  1. Cài đặt MongoDB 8.0 Community Edition trên Windows.
  2. Cài đặt MongoDB Shell 2.5.3 trên Windows.
  3. Dùng command prompt để:
    • Thiết lập môi trường
    • Chạy instance mongod
    • Kết nối mongosh với mongod
    • Thực thi lệnh xem danh sách database

Bài viết liên quan:

Hướng dẫn cài đặt MongoDB trên môi trường windows, linux, macOS
Giới thiệu tổng quan và các khái niệm cơ bản về MongoDB

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Giới thiệu mongoDB

Tích hợp liên tục / Triển khai liên tục (CI/CD) với Git

Xử lý tệp tin (File Handling)

Tích hợp AI với GitHub

Các khái niệm nâng cao trong C#

Giới thiệu

hocvietcode.com là website chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với HỌC VIẾT CODE

© hocvietcode.com - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.
Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×