Hướng dẫn lập trình MongoDB cơ bản
VTC Academy VTC Academy
Hướng dẫn lập trình MongoDB cơ bản

Hướng dẫn lập trình MongoDB cơ bản

Ngày đăng 07/11/2018
Trong những năm gần đây, với sự ra đời và phát triển mạnh mẽ của NoSQL thì MongoDB cũng đang nhận được nhiều sự chú ý trong cộng đồng công nghệ. Điểm mạnh của NoSQL nói chung và MongoDB nói riêng đó là tính linh hoạt trong việc cấu trúc dữ liệu do đó nó giúp đáp ứng tốt với những thay đổi hay việc mở rộng cơ sở dữ liệu. Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu những khái niệm cơ bản trong MongoDB và cách sử dụng chúng.
MongoDB Là Gì?

MongoDB là một chương trình cơ sở dữ liệu mã nguồn mở được thiết kế theo kiểu hướng đối tượng trong đó các bảng được cấu trúc một cách linh hoạt cho phép các dữ liệu lưu trên bảng không cần phải tuân theo một dạng cấu trúc nhất định nào. Chính do cấu trúc linh hoạt này nên MongoDB có thể đượng dùng để lưu trữ các dữ liệu có cấu trúc phức tạp và đa dạng và không cố định (hay còn gọi là Big Data).

Tuy nhiên khi đưa ra định nghĩa như ở trên tôi đã sử dụng khái niệm bảng trong các cơ sở dữ liệu có quan hệ để bạn có thể dễ hiểu. Trên thực tế thì MongoDB sử dụng thuật ngữ khác là collection hay bộ sưu tập thay vì bảng. Các cơ sở dữ liệu quan hệ (như MySQL hay SQL Server…) sử dụng các bảng để lưu dữ liệu. Các bảng này được cấu trúc với một số lượng cột (column) nhất định và các cột này cũng được định nghĩa với kiểu dữ liệu nhất định. Ngược lại MongoDB lưu document (hay tài liệu tương tự như các record trong MySQL hay SQL Server) vào các collection với định dạng JSON hay Javascript Object Notation. Do đó khi truy vấn dữ liệu hay cập nhật dữ liệu của document trong MongoDB chúng ta sử dụng cú pháp theo kiểu hươngs đối tượng.

Bây giờ chúng ta cùng vào tìm hiểu chi tiết các khái niệm ở trên để có thể hiểu rõ hơn.

MongoDB Document

Như đã nói ở trên một document trong MongoDB có thể được hiểu tương đương như một record trong MySQL hay SQL Server. Tuy nhiên sự khác biệt đó là các document trong MongoDB không sử dụng cấu trúc cố định. Hãy xem ví dụ sau về một document trong MongoDB dùng để lưu dữ liệu của một người dùng trên một mạng xã hội:

mongobd document

Ở ví dụ trên dữ liệu của document được lưu theo kiểu kiểu JSON với các trường như name, age, status và groups. Mặc dù document ở trên chỉ có 4 trường nhưng MongoDB vẫn cho phép chúng ta có thể thêm vào một document khác với 5 trường hoặc 3 hay 2 trường. Đây chính là tính linh động của NoSQL.

MongoDB Collection

Collection trong MongoDB tương đương với các bảng sử dụng trong các cơ sở dữ liệu kiểu quan hệ. Collection bao gồm tập hợp tất cả các document riêng lẻ được lưu trên collection đó. Hãy xem một ví dụ sau đây minh hoạ về collection trong MongoDB.

mongobd collect vtc academy

Sự khác biệt cơ bản giữa collection và bảng trong MySQL hay SQL Server đó là bạn không phải định nghĩa một cấu trúc schema cố định nào cho Collection cả thay vào đó bạn chỉ cần định nghĩa tên cho collection và một số options khác như index hay size của collection.

Thêm Document Vào Collection

Bây giờ chúng ta hãy cùng xem một ví dụ tạo một document vào một collection có tên là users.

vtc academy mongodb

Ở trên bạn thấy cú pháp sử dụng để thêm document vào collection được viêt theo kiểu hướng đối tượng hoàn toàn khác với cú pháp của ngôn ngữ SQL thông thường. Chúng ta cũng không nhất thiết phải định nghĩa collection với tên là users trước khi có thể chạy câu lệnh để thêm một document như ở trên. MongoDB sẽ tự tạo cho bạn một collection với tên là users nếu như tại thời điểm bạn bạn chèn document vào database mà vẫn chưa có collection được tạo ra.

Tuy nhiên bạn vẫn cần phải thông báo cho MongoDB biết việc chèn document như trên được thực hiện ở cơ sở dữ liệu nào. Việc này được sử dụng thông qua câu lệnh tương tự như bạn hay dùng với các cơ sở dữ liệu có quan hệ:

use my_mongodb

Như vậy tới đây tôi đã giới thiệu cho bạn những kiến thức cơ bản về MongoDB và cách sử dụng một số câu lệnh đơn giản nhất.

Nguồn: Codehub

Hãy bắt đầu sự nghiệp của bạn bằng việc tham gia khóa học lập trình Web full-stack cơ bản và nâng cao tại Học viện VTC, nơi mọi ước mơ của bạn sẽ nhanh chóng được thực hiện.

Khóa học chuyên nghiệp Lập trình Web Full-stack:

  • Thời gian: 6 tháng (3 buổi tối/ tuần)
  • Chứng chỉ: Chứng chỉ đào tạo Lập trình Web Full-stack tại VTC Academy
  • Cam kết: Bảo hành việc làm trong 3 năm (thu nhập 6-12 triệu)
  • Đăng ký trực tuyến: Tại Đây

Khóa học dành cho:

  • Sinh viên năm 3,4 chuyên ngành CNTT tại các trường CĐ,ĐH
  • Người đi làm đã có kiến thức nền tảng về lập trình
Tin tức khác
How to do #3:

How to do #3: "Những kĩ năng cần có của lập trình viên Android"

Ngày đăng 05/11/2018
How To Do là chuỗi sự kiện công nghệ được tổ chức tại VTC Academy thường niên mỗi tháng dành cho các bạn đang học và làm việc về hai khối ngành Lập trình và Thiết kế. Chương trình sẽ giúp các bạn giải quyết các vấn đề từ basic đến advance thông qua các diễn giả – những người đang làm nghề chuyên nghiệp từ các doanh nghiệp, studio,…
Bộ sưu tập 10 Front-End Framework chất lừ

Bộ sưu tập 10 Front-End Framework chất lừ

Ngày đăng 02/11/2018
Các front-end framework giúp bạn phát triển các trang web dễ dàng hơn. Vì vậy chúng rất phổ biên và có rất nhiều front-end framework có sẵn để bạn lựa chọn, cũng như những framework mới thường xuyên xuất hiện. Vì có nhiều sự lựa chọn, nên việc chọn một front-end framework phù hợp có thể trở nên khó khăn. Giống như nhiều lập trình viên khác, bạn có thể chọn một framework phổ biến như Bootstrap, Foundation. Nhưng một framework ít phổ biến hơn có thể phù hợp và hiệu quả hơn với nhu cầu của bạn, vì thế việc tìm hiểu những framework phổ biến nhất hiện nay cũng rất đáng giá.
Chinh phục ngành Thiết kế đồ họa: Học những môn gì, lộ trình học ra sao?

Chinh phục ngành Thiết kế đồ họa: Học những môn gì, lộ trình học ra sao?

Ngày đăng 21/05/2025
Bạn ấp ủ đam mê với thế giới hình ảnh, khao khát tạo nên những thiết kế ấn tượng và đang tìm lời giải đáp cho câu hỏi: thiết kế đồ họa cần học những môn gì để vững bước trên con đường sáng tạo này?. Đây cũng là câu hỏi mà Học viện đào tạo Công nghệ thông tin và Thiết kế hàng đầu châu Á VTC Academy thường xuyên nhận được. Chúng tôi hiểu rằng, việc hình dung rõ ràng lộ trình kiến thức sẽ là bước đệm vững chắc giúp bạn tự tin hơn trên con đường chinh phục lĩnh vực đầy sáng tạo này. Hãy cùng VTC Academy khám phá chi tiết ngay sau đây!
Khóa học mới nhất
ỨNG DỤNG AI TRONG THỰC TẾ DOANH NGHIỆP (PRACTICAL AI IN BUSINESS)

ỨNG DỤNG AI TRONG THỰC TẾ DOANH NGHIỆP (PRACTICAL AI IN BUSINESS)

5 (959)
Hình thức học: Online
Thời hạn: 1 tháng
Khối ngành: Công nghệ thông tin
PHÁT TRIỂN BẢN THÂN VÀ CÔNG VIỆC VỚI TRỢ LÝ AI (EMPOWERING GROWTH WITH AI ASSISTANCE)

PHÁT TRIỂN BẢN THÂN VÀ CÔNG VIỆC VỚI TRỢ LÝ AI (EMPOWERING GROWTH WITH AI ASSISTANCE)

5 (893)
Hình thức học: Online
Thời hạn: 1 tháng
Khối ngành: Công nghệ thông tin
CHUYÊN GIA TIẾP THỊ TÌM KIẾM (SEARCH MARKETING MASTERY)

CHUYÊN GIA TIẾP THỊ TÌM KIẾM (SEARCH MARKETING MASTERY)

5 (853)
Hình thức học: Tập trung/Bán thời gian
Thời hạn: 6 tháng
Khối ngành: Thương mại
CHUYÊN GIA SÁNG TẠO NỘI DUNG (CONTENT MARKETING MASTERY)

CHUYÊN GIA SÁNG TẠO NỘI DUNG (CONTENT MARKETING MASTERY)

5 (853)
Hình thức học: Hybrid (Trực tiếp & Online)
Thời hạn: 6 tháng
Khối ngành: Thương mại
CHUYÊN GIA KIỂM THỬ PHẦN MỀM (SOFTWARE TESTING MASTERY)

CHUYÊN GIA KIỂM THỬ PHẦN MỀM (SOFTWARE TESTING MASTERY)

5 (873)
Hình thức học: Hybrid (Trực tiếp & Online)
Thời hạn: 6 tháng
Khối ngành: Lập trình
IT BACHELOR (LIÊN THÔNG QUỐC TẾ)

IT BACHELOR (LIÊN THÔNG QUỐC TẾ)

5 (1239)
Hình thức học: Tập trung
Thời hạn: 1,5 năm tại VTC Academy + 2,5 năm tại Chisholm Institute
Khối ngành: Lập trình
Chuyên gia Vận hành & Hỗ trợ Hạ tầng CNTT (IT HELPDESK)

Chuyên gia Vận hành & Hỗ trợ Hạ tầng CNTT (IT HELPDESK)

5 (1023)
Hình thức học: Hybrid (Trực tiếp & Online)
Thời hạn: 6 tháng/khóa
Khối ngành: Lập trình
SCP – Essentials of Supply Chain Principles

SCP – Essentials of Supply Chain Principles

4.9 (1591)
Hình thức học: Online
Thời hạn: 2-3 tháng
Khối ngành: Thương mại
POP – Essentials of Operations Planning

POP – Essentials of Operations Planning

4.9 (1502)
Hình thức học: Online
Thời hạn: 2-3 tháng
Khối ngành: Thương mại
PMO – Essentials of Managing Operations

PMO – Essentials of Managing Operations

4.9 (1009)
Hình thức học: Online
Thời hạn: 2-3 tháng
Khối ngành: Thương mại
PMM – Essentialss of Manufacturing Management

PMM – Essentialss of Manufacturing Management

4.9 (1221)
Hình thức học: Online
Thời hạn: 2-3 tháng
Khối ngành: Thương mại
PIM – Essentialss of Inventory Management

PIM – Essentialss of Inventory Management

4.8 (1421)
Hình thức học: Online
Thời hạn: 2-3 tháng
Khối ngành: Thương mại
PDL – Essentialss of Distribution & Logistics

PDL – Essentialss of Distribution & Logistics

4.9 (1093)
Hình thức học: Online
Thời hạn: 2-3 tháng
Khối ngành: Thương mại
Chuyên gia tiếp thị thương mại điện tử (E-commerce Marketing Mastery)

Chuyên gia tiếp thị thương mại điện tử (E-commerce Marketing Mastery)

5 (853)
Hình thức học: Tập trung/Bán thời gian
Thời hạn: 6 tháng
Khối ngành: Thương mại
Chuyên viên Thiết kế đồ họa

Chuyên viên Thiết kế đồ họa

4.9 (5674)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Thiết kế
Chuyên viên <br>Lập trình game (Phát triển Game)

Chuyên viên
Lập trình game (Phát triển Game)

4.9 (1545)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Công nghệ thông tin
Chuyên viên Logistics và Quản lý Chuỗi cung ứng

Chuyên viên Logistics và Quản lý Chuỗi cung ứng

5 (2585)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Thương Mại
Họa Sỹ Nhân Vật 3D Chuyên Nghiệp (3D Character Artist Pro)

Họa Sỹ Nhân Vật 3D Chuyên Nghiệp (3D Character Artist Pro)

5 (893)
Hình thức học: Tập trung/Bán thời gian
Thời hạn: 8 tháng
Khối ngành: Thiết kế
Kỹ Xảo Hoạt Hình 3D (Liên Thông Quốc Tế)

Kỹ Xảo Hoạt Hình 3D (Liên Thông Quốc Tế)

5 (1456)
Hình thức học: Tập trung
Thời hạn: 2.5 năm
Khối ngành: Thiết kế
Kỹ Thuật Phần Mềm (Liên Thông Quốc Tế)

Kỹ Thuật Phần Mềm (Liên Thông Quốc Tế)

5 (1265)
Hình thức học: Tập trung
Thời hạn: 2.5 năm
Khối ngành: Lập trình
Trí Tuệ Nhân Tạo

Trí Tuệ Nhân Tạo

5 (58898)
Hình thức học: Tập trung
Thời hạn: 2.5 năm
Khối ngành: Công nghệ thông tin
THIẾT KẾ 3D NÂNG CAO (LIÊN THÔNG QUỐC TẾ)

THIẾT KẾ 3D NÂNG CAO (LIÊN THÔNG QUỐC TẾ)

5 (78445)
Hình thức học: Tập trung
Thời hạn: 2.5 năm
Khối ngành: Thiết kế
Họa sỹ Môi trường 3D chuyên nghiệp (3D Environment Artist Pro)

Họa sỹ Môi trường 3D chuyên nghiệp (3D Environment Artist Pro)

5 (562)
Hình thức học: Tập trung/Bán thời gian
Thời hạn: 8 tháng
Khối ngành: Thiết kế
Chuyên viên Thiết kế 3D (3D Modeling)

Chuyên viên Thiết kế 3D (3D Modeling)

4.9 (6576)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Thiết kế
Chuyên viên Lập trình phần mềm (Full-stack)

Chuyên viên Lập trình phần mềm (Full-stack)

4.9 (6545)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Công nghệ thông tin
Chuyên viên Hoạt hình 3D (3D Animation)

Chuyên viên Hoạt hình 3D (3D Animation)

4.9 (6777)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Thiết kế
Chuyên viên Digital Marketing (Full-stack)

Chuyên viên Digital Marketing (Full-stack)

5 (7656)
Hình thức học: Tập trung
Thời hạn: 2 năm
Khối ngành: Thương Mại
Tin tức khác
How to do #3:

How to do #3: "Những kĩ năng cần có của lập trình viên Android"

Ngày đăng 05/11/2018
How To Do là chuỗi sự kiện công nghệ được tổ chức tại VTC Academy thường niên mỗi tháng dành cho các bạn đang học và làm việc về hai khối ngành Lập trình và Thiết kế. Chương trình sẽ giúp các bạn giải quyết các vấn đề từ basic đến advance thông qua các diễn giả – những người đang làm nghề chuyên nghiệp từ các doanh nghiệp, studio,…
Bộ sưu tập 10 Front-End Framework chất lừ

Bộ sưu tập 10 Front-End Framework chất lừ

Ngày đăng 02/11/2018
Các front-end framework giúp bạn phát triển các trang web dễ dàng hơn. Vì vậy chúng rất phổ biên và có rất nhiều front-end framework có sẵn để bạn lựa chọn, cũng như những framework mới thường xuyên xuất hiện. Vì có nhiều sự lựa chọn, nên việc chọn một front-end framework phù hợp có thể trở nên khó khăn. Giống như nhiều lập trình viên khác, bạn có thể chọn một framework phổ biến như Bootstrap, Foundation. Nhưng một framework ít phổ biến hơn có thể phù hợp và hiệu quả hơn với nhu cầu của bạn, vì thế việc tìm hiểu những framework phổ biến nhất hiện nay cũng rất đáng giá.
Giải mã sức hút của nghề công nghệ thông tin hiện nay

Giải mã sức hút của nghề công nghệ thông tin hiện nay

Ngày đăng 01/03/2025

Liên hệ với VTC Academy

    Tôi đã đọc và đồng ý với Điều khoảnChính sách bảo mật của VTC Academy.

  • Hotline: 1900292958