icantech
Lập trình chung
1138
08/12/2023

MongoDB là gì? Bỏ túi các câu lệnh trong MongoDB hữu hiệu nhất

Với xu hướng gia tăng của dữ liệu trên toàn thế giới, ngày càng có nhiều mối quan tâm xung quanh làn sóng cơ sở dữ liệu phi quan hệ, hay còn được gọi là 'NoSQL'. Các doanh nghiệp và tổ chức đang tìm kiếm các công cụ mới để quản lý luồng dữ liệu, thay thế các hệ thống cơ sở dữ liệu truyền thống. Và MongoDB là một công cụ như vậy. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu MongoDB là gì - một trong những hệ thống cơ sở dữ liệu NoSQL mạnh nhất hiện nay.

1. MongoDB là gì?

MongoDB là cơ sở dữ liệu NoSQL định hướng tài liệu được sử dụng để lưu trữ dữ liệu dung lượng lớn. MongoDB được xây dựng trên kiến trúc mở rộng theo chiều ngang kết hợp lược đồ linh hoạt để lưu trữ dữ liệu. 

Thay vì lưu trữ dữ liệu trong các bảng gồm các hàng hoặc cột như cơ sở dữ liệu SQL, mỗi bản ghi trong MongoDB là một tài liệu được mô tả trong BSON (Binary JSON) - một dạng nhị phân của dữ liệu. Sau đó, các ứng dụng có thể truy xuất thông tin này với định dạng JSON (JavaScript Object Notation).

Được thành lập vào năm 2007, MongoDB hiện có lượng người theo dõi đông đảo trên toàn thế giới. Từ khi thành lập, MongoDB đã được xây dựng trên kiến trúc quy mô mở rộng. Cấu trúc cho phép nhiều thiết bị máy nhỏ làm việc cùng nhau để tạo ra các hệ thống xử lý nhanh một lượng dữ liệu khổng lồ.

2. MongoDB hoạt động như thế nào?

MongoDB giống như một máy chủ và dữ liệu được lưu trữ trong cơ sở dữ liệu của máy chủ này. Hay nói cách khác, môi trường MongoDB cung cấp cho bạn một máy chủ mà bạn có thể khởi động và tạo nhiều cơ sở dữ liệu trên đó. Dữ liệu được lưu trữ trong các bộ sưu tập và tài liệu. Do đó cơ sở dữ liệu, bộ sưu tập và tài liệu có liên quan với nhau như sơ đồ dưới đây:

mongodb-la-gi

  • Cơ sở dữ liệu MongoDB (database) chứa các bộ sưu tập (collections) khác nhau, cho phép bạn tạo dữ liệu (documents) và bộ sưu tập trong đó.
  • Trong bộ sưu tập có chứa các tài liệu. Các tài liệu này chứa dữ liệu bạn muốn lưu trữ trong cơ sở dữ liệu MongoDB. Một bộ sưu tập có thể chứa nhiều tài liệu và không nhất thiết tài liệu này phải giống với tài liệu khác.
  • Các tài liệu được tạo ra bằng cách sử dụng các trường - là các cặp giá trị khóa trong tài liệu. Giá trị của các trường có thể thuộc bất kỳ loại dữ liệu BSON nào như double, string, boolean…
  • Dữ liệu truy vấn trong MongoDB được lưu dưới dạng tài liệu BSON.
  • Trong MongoDB, bạn được phép lưu trữ dữ liệu lồng nhau. Bạn có quyền tạo các mối quan hệ phức tạp giữa dữ liệu và lưu trữ chúng trong cùng một tài liệu.

3. Ưu điểm của MongoDB

Ưu điểm của MongoDB là gì? Đây chắc hẳn cũng là thắc mắc của rất nhiều người khi tìm kiếm thông tin Mogo là gì. Một số ưu điểm nổi bật của MongoDB có thể kể ra như:

  • Là một cơ sở dữ liệu NoSQL không có lược đồ. Vì thế mà bạn không cần phải thiết kế lược đồ cơ sở dữ liệu khi làm việc với MongoDB.
  • Tính linh hoạt cao
  • Khả năng chứa cả các dữ liệu không đồng nhất. Thông tin có cấu trúc và phi cấu trúc đều có thể được lưu trữ trong cùng một tài liệu.
  • Có thể lồng JSON để lưu trữ các đối tượng dữ liệu phức tạp
  • Lược đồ JSON linh hoạt, bạn dễ dàng thêm hoặc loại bỏ các trường thông tin mà không ảnh hưởng gì. 
  • Hiệu suất làm việc lớn, tính khả dụng cao và có khả năng mở rộng
  • Hỗ trợ hoạt động truy vấn trên dữ liệu không gian địa lý (Geospatial)
  • Hỗ trợ chuyển đổi tài liệu ACID (Atomicity, Consistency, Isolation, Durability)
  • Tích hợp dễ dàng với Big Data Hadoop.

4. Các câu lệnh cơ bản trong MongoDB

Bên cạnh việc học các khái niệm, lý thuyết xoay quanh MongoDB là gì, đa số mọi người đều quan tâm đến việc thực hành trong MongoDB. Dưới đây là các câu lệnh trong MongoDB cơ bản và hay dùng nhất.

4.1. Hiển thị tất cả cơ sở dữ liệu trong hệ thống

Bạn sử dụng lệnh dưới đây để lấy danh sách tất cả các cơ sở dữ liệu trong hệ thống: 

show dbs

mongodb-la-gi

4.2. Tạo cơ sở dữ liệu mới

Để tạo cơ sở dữ liệu mới, bạn thực hiện lệnh sau: 

use DATABASE_NAME

mongodb-la-gi

4.3. Hiển thị cơ sở dữ liệu đã chọn

Để biết cơ sở dữ liệu bạn đang làm việc hoặc được chọn hiện tại trong MongoDB là gì, bạn hãy thực hiện lệnh sau: 

db

mongodb-la-gi

4.4. Loại bỏ cơ sở dữ liệu

Bạn hãy thực hiện lệnh này sẽ loại bỏ cơ sở dữ liệu đã chọn: 

db.dropDatabase()

mongodb-la-gi

4.5. Tạo bộ sưu tập

Để tạo bộ sưu tập mới, bạn thực hiện lệnh sau:

db.createCollection(name)

mongodb-la-gi

4.6. Kiểm tra danh sách bộ sưu tập

Để có được danh sách các bộ sưu tập được tạo, bạn thực hiện kiểm tra bằng câu lệnh sau:

Show collections 

mongodb-la-gi

4.7. Loại bỏ bộ sưu tập

Bạn thực hiện câu lệnh dưới đây để loại bỏ bộ sưu tập đã chọn:

db.COLLECTION_NAME.drop()

mongodb-la-gi

4.8. Chèn tài liệu vào bộ sưu tập

Để chèn một tài liệu vào bộ sưu tập đã chọn, bạn thực hiện lệnh sau: 

>db.COLLECTION_NAME.insert(document)

mongodb-la-gi

Nếu muốn chèn nhiều tài liệu vào bộ sưu tập đã chọn, bạn thực hiện lệnh sau:

mongodb-la-gi

4.9. Kiểm tra danh sách các tài liệu trong bộ sưu tập

Để lấy ra danh sách các tài liệu trong bộ sưu tập, bạn thực hiện lệnh sau:

>db.COLLECTION_NAME.find()

mongodb-la-gi

4.10. Cập nhật tài liệu

Khi cần cập nhật tài liệu trong bộ sưu tập, bạn sử dụng lệnh sau:

>db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA)

mongodb-la-gi

4.11. Lưu tài liệu

Để lưu tài liệu vào bộ sưu tập, bạn dùng câu lệnh sau:

>db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA})

mongodb-la-gi

4.12. Xóa tài liệu

Để xóa tài liệu trong bộ sưu tập đã chọn, bạn hãy thực hiện lệnh sau:

>db.COLLECTION_NAME.remove(DELLETION_CRITTERIA)

mongodb-la-gi

5. Lời kết

Đến đây thì hẳn là bạn đã hiểu rõ hơn MongoDB là gì. Là cơ sở dữ liệu phi quan hệ, MongoDB mang lại nhiều lợi ích cho quá trình phát triển ứng dụng của bạn. MongoDB có thể giúp bạn xây dựng các ứng dụng có tính ổn định cao nhờ khả năng mở rộng với lược đồ linh hoạt. Bên cạnh đó, MongoDB mang đến trải nghiệm tuyệt vời cho các nhà phát triển với trình điều khiển tương thích với hầu hết các ngôn ngữ lập trình phổ biến. Với từng ấy lý do, bạn còn chần chừ gì nữa mà không bắt tay vào thực hiện MongoDB ngay cho dự án của mình.

Cảm ơn bạn đã đọc bài viết, nếu bạn đang quan tâm đến học lập trình online thì hãy tham khảo ngay các khóa học lập trình dưới đây tại ICANTECH nhé

Nguồn ảnh: ICANTECH.

Share
Tags
Lập trình chung

Bài tương tự