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:

Ở 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.

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.

Ở 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

Xếp hạng: 0 / 5. Lượt bình chọn: 0

Rất tiếc vì trải nghiệm không tốt của bạn về bài viết này!

Bạn có thể cho chúng tôi biết bạn chưa hài lòng vì điều gì không?

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á.
[Toàn quốc] Danh sách các trường xét tuyển học bạ năm 2024

[Toàn quốc] Danh sách các trường xét tuyển học bạ năm 2024

Ngày đăng 18/06/2024
Đây là danh sách 150+ trường xét tuyển học bạ trong kỳ tuyển sinh đại học năm 2024. Các bạn 2K6 có thể tham khảo để mở rộng cánh cửa vào đại học mơ ước của mình
Khóa học mới nhất
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 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 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 <br>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: Digital Marketing
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á.
Content Marketing là gì? Công việc, mức lương và câu hỏi phỏng vấn năm 2024

Content Marketing là gì? Công việc, mức lương và câu hỏi phỏng vấn năm 2024

Ngày đăng 01/01/2024
Content Marketing hiện đang là một lĩnh vực vô cùng nổi bật và thu hút nhiều bạn trẻ với mức lương đáng mơ ước. Vậy cụ thể Content Marketing là gì, công việc cụ thể ra sao, mức lương thế nào và những câu hỏi bạn có thể gặp khi đi phỏng vấn là gì? Hãy cùng VTC Academy tìm hiểu nhé!

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.

  • Hà Nội: 0981 114 757
  • Đà Nẵng: 0865 098 399
  • Hồ Chí Minh: 0818 799 299