Trang chủ Trang chủ
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
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á.
Cách tra cứu điểm thi tốt nghiệp THPT 2020 đợt 2

Cách tra cứu điểm thi tốt nghiệp THPT 2020 đợt 2

Ngày đăng 16/09/2020
Cách tra cứu điểm thi tốt nghiệp THPT 2020 đợt 2. Hôm nay, Bộ Giáo dục & Đào tạo đã công bố điểm thi tốt nghiệp THPT Quốc gia đợt 2 của hơn 26.000 thí sinh. Đợt thi này được tổ chức cho các thí sinh thuộc diện F1, F2 ở khu vực phải cách ly do ảnh hưởng của dịch Covid -19. Trong đợt thi này các thí sinh chủ yếu đến từ Đà Nẵng, Quảng Nam, Đắk Lắk,...
Sự kiện mới nhất
Sự kiện “Game Fair 2020” tại TP.HCM
Mới

Sự kiện “Game Fair 2020” tại TP.HCM

Thời gian: 09:00 - 13:00, Chủ nhật ngày 25/10/2020
TP. Hồ Chí Minh
Miễn phí
Sự kiện “AI Coffee Talk” tại TP.HCM
Mới

Sự kiện “AI Coffee Talk” tại TP.HCM

Thời gian: 09:00 - 10:30 Chủ nhật, 18/10/2020
TP. Hồ Chí Minh
Miễn phí
Sự kiện “Ngày hội xét tuyển tháng 10” tại TP.HCM

Sự kiện “Ngày hội xét tuyển tháng 10” tại TP.HCM

Thời gian: 08:30 - 12:00 Chủ nhật, 11/10/2020
TP. Hồ Chí Minh
Miễn phí
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á.
VTC Academy tưng bừng tổ chức lễ khai giảng niên khóa 2020 - 2022

VTC Academy tưng bừng tổ chức lễ khai giảng niên khóa 2020 - 2022

Ngày đăng 25/09/2020
Các bạn tân học viên VTC Academy niên khóa 2020-2022 đã chính thức bước vào năm học mới với buổi lễ khai giảng long trọng diễn ra ngày 25/09/2020 tại hai chi nhánh Hà Nội và TP. Hồ Chí Minh. Đến tham dự buổi lễ có Ban lãnh đạo VTC Academy, các giảng viên của Học viện, đại diện ban lãnh đạo của các doanh nghiệp đối tác đầu ngành về Công nghệ thông tin, Thiết kế và Tuyển dụng cùng các bậc phụ huynh và hơn 500 tân học viên của VTC Academy.
Liên hệ với VTC Academy

  • TP. Hồ Chí Minh: 0818 799 299
  • Hà Nội: 0981 114 757