MongoDB - Overview

Xin chào, các bạn có chí hướng! Hôm nay, chúng ta sẽ bắt đầu một hành trình thú vị vào thế giới của MongoDB. Là người giáo viên khoa học máy tính gần gũi của bạn, tôi rất vui mừng được hướng dẫn bạn qua hệ thống cơ sở dữ liệu fascinante này. Đừng lo lắng nếu bạn chưa bao giờ viết một dòng mã trước đây - chúng ta sẽ bắt đầu từ những điều cơ bản nhất và dần dần nâng cao. Vậy, hãy lấy một cốc cà phê (hoặc đồ uống yêu thích của bạn) và cùng nhau nhảy vào!

MongoDB - Overview

MongoDB là gì?

Trước khi chúng ta đi vào chi tiết, hãy hiểu MongoDB là về điều gì. MongoDB là một cơ sở dữ liệu NoSQL phổ biến cung cấp hiệu suất cao, tính khả dụng cao và dễ mở rộng. Nó giống như một tủ đựng hồ sơ khổng lồ, siêu tổ chức cho dữ liệu của bạn, nhưng còn cool và linh hoạt hơn nhiều!

Lịch sử ngắn gọn

MongoDB được tạo ra bởi những người tại 10gen (bây giờ là MongoDB Inc.) vào năm 2007. Họ đang xây dựng một sản phẩm nền tảng dịch vụ (PaaS), nhưng cuối cùng lại tập trung vào thành phần cơ sở dữ liệu. Tên "Mongo" đến từ "humongous" vì nó có thể xử lý một lượng dữ liệu khổng lồ. Thật thông minh phải không?

Cơ sở dữ liệu

Trong MongoDB, một cơ sở dữ liệu giống như một容器 chứa các bộ sưu tập dữ liệu. Hãy tưởng tượng nó như một hộp lớn nơi bạn để tất cả các thứ liên quan cùng nhau. Ví dụ, nếu bạn đang xây dựng một hệ thống quản lý thư viện, bạn có thể có một cơ sở dữ liệu叫做 "library".

Tạo một cơ sở dữ liệu

Để tạo một cơ sở dữ liệu trong MongoDB, bạn sử dụng lệnh use. Dưới đây là một ví dụ:

use library

Lệnh này tạo một cơ sở dữ liệu mới叫做 "library" nếu nó không tồn tại, hoặc chuyển sang nó nếu nó đã có. Dễ ợt!

Bộ sưu tập

Một bộ sưu tập trong MongoDB tương tự như một bảng trong cơ sở dữ liệu quan hệ. Nó là một nhóm các tài liệu MongoDB. Tiếp tục ví dụ thư viện của chúng ta, chúng ta có thể có các bộ sưu tập cho "books", "authors", và "members".

Tạo một bộ sưu tập

Tạo một bộ sưu tập rất đơn giản. Dưới đây là cách bạn làm:

db.createCollection("books")

Lệnh này tạo một bộ sưu tập mới叫做 "books" trong cơ sở dữ liệu "library" của chúng ta. Cool phải không?

Tài liệu

Bây giờ, chúng ta đã đến với trái tim của MongoDB. Một tài liệu là một bộ các cặp khóa-giá trị, tương tự như các đối tượng JSON. Nó là đơn vị cơ bản của dữ liệu trong MongoDB. Mỗi tài liệu trong một bộ sưu tập có thể có cấu trúc khác nhau - đó là điều làm MongoDB trở nên linh hoạt!

Tài liệu mẫu

Hãy nhìn vào một tài liệu mẫu cho bộ sưu tập "books":

{
"_id": ObjectId("5f5b7f2c3e8e9f1c9c8b4567"),
"title": "To Kill a Mockingbird",
"author": "Harper Lee",
"published_date": ISODate("1960-07-11"),
"pages": 281,
"genres": ["Southern Gothic", "Bildungsroman"],
"ratings": [
{ "user": "Alice", "score": 5 },
{ "user": "Bob", "score": 4 }
]
}

Hãy phân tích này:

  1. _id: Đây là một标识符 duy nhất tự động được MongoDB tạo ra.
  2. title, author, published_date, pages: Đây là các cặp khóa-giá trị đơn giản.
  3. genres: Đây là một mảng các chuỗi.
  4. ratings: Đây là một mảng các tài liệu nhúng.

Sự đẹp đẽ của MongoDB là bạn có thể có các tài liệu với cấu trúc khác nhau trong cùng một bộ sưu tập. Ví dụ, bạn có thể có một tài liệu sách khác bao gồm các trường bổ sung như "edition" hoặc "cover_type".

Các thao tác CRUD

Bây giờ chúng ta đã hiểu cấu trúc cơ bản, hãy nhìn vào cách chúng ta có thể manipulatie dữ liệu của mình. CRUD代表Create, Read, Update, và Delete - bốn thao tác cơ bản bạn có thể thực hiện trên dữ liệu.

Tạo (Chèn)

Để chèn một tài liệu vào một bộ sưu tập, bạn có thể sử dụng phương thức insertOne():

db.books.insertOne({
title: "1984",
author: "George Orwell",
published_date: new Date("1949-06-08"),
pages: 328,
genres: ["Dystopian", "Political fiction"]
})

Điều này thêm một sách mới vào bộ sưu tập "books" của chúng ta.

Đọc (Truy vấn)

Để lấy tài liệu, chúng ta sử dụng phương thức find(). Dưới đây là cách bạn có thể tìm tất cả các sách của George Orwell:

db.books.find({ author: "George Orwell" })

Cập nhật

Để cập nhật một tài liệu, chúng ta sử dụng phương thức updateOne(). Hãy thêm một đánh giá vào sách "1984":

db.books.updateOne(
{ title: "1984" },
{ $push: { ratings: { user: "Charlie", score: 5 } } }
)

Điều này thêm một đánh giá mới vào mảng "ratings" của sách "1984".

Xóa

Để xóa một tài liệu, chúng ta sử dụng phương thức deleteOne():

db.books.deleteOne({ title: "1984" })

Điều này xóa sách "1984" khỏi bộ sưu tập của chúng ta.

Kết luận

Wow! Chúng ta đã bao quát rất nhiều nội dung hôm nay. Chúng ta đã học về cơ sở dữ liệu, bộ sưu tập và tài liệu trong MongoDB, và thậm chí đã thử nghiệm một số thao tác cơ bản. Nhớ rằng, thực hành là chìa khóa của sự hoàn hảo, vì vậy đừng ngại thử nghiệm với các khái niệm này.

Sự linh hoạt và khả năng mở rộng của MongoDB làm cho nó trở thành một lựa chọn tuyệt vời cho nhiều ứng dụng hiện đại. Khi bạn tiếp tục hành trình lập trình của mình, bạn sẽ thấy rằng việc hiểu MongoDB mở ra rất nhiều khả năng cho việc xử lý và manipulatie dữ liệu.

Tiếp tục lập mã, 保持 sự tò mò, và nhớ rằng - trong thế giới của cơ sở dữ liệu, bạn là tác giả của câu chuyện dữ liệu riêng của mình. Chúc may mắn với MongoDB!

Credits: Image by storyset