Node.js - MongoDB Bắt đầu

Xin chào các nhà pháp sư cơ sở dữ liệu tương lai! 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 Node.js và MongoDB. Là người giáo viên máy tính gần gũi của bạn, tôi ở đây để hướng dẫn bạn qua cuộc phiêu lưu này, từng bước một. Đừng lo lắng nếu bạn mới bắt đầu học lập trình - 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. Nào, hãy đeo mũ bảo hiểm ảo của bạn và cùng nhau lặn xuống!

Node.js - MongoDB Get Started

MongoDB là gì?

Trước khi chúng ta bắt đầu lập trình, hãy hiểu rõ MongoDB là gì. Hãy tưởng tượng bạn đang tổ chức bộ sưu tập truyện tranh của mình. Bạn có thể có những hộp khác nhau cho Marvel, DC và truyện tranh độc lập. MongoDB giống như một tổ chức truyện tranh kỹ thuật số khổng lồ cho dữ liệu của bạn. Nó là một cơ sở dữ liệu NoSQL, có nghĩa là nó linh hoạt và có thể xử lý nhiều loại dữ liệu khác nhau mà không cần cấu trúc cứng rắn.

Cài đặt

Bước 1: Cài đặt Node.js

Đầu tiên, chúng ta cần cài đặt Node.js. Nó giống như việc chuẩn bị bàn làm việc trước khi bắt đầu một dự án.

  1. Truy cập trang web chính thức của Node.js (https://nodejs.org/).
  2. Tải xuống phiên bản phù hợp với hệ điều hành của bạn.
  3. Theo dõi hướng dẫn cài đặt.

Để kiểm tra xem Node.js đã được cài đặt đúng cách hay chưa, mở terminal hoặc command prompt và gõ:

node --version

Nếu bạn thấy số phiên bản, bạn đã sẵn sàng!

Bước 2: Cài đặt MongoDB

Bây giờ, hãy cài đặt MongoDB - tổ chức truyện tranh kỹ thuật số của chúng ta.

  1. Truy cập trang tải xuống của MongoDB (https://www.mongodb.com/try/download/community).
  2. Chọn hệ điều hành của bạn và tải xuống trình cài đặt.
  3. Chạy trình cài đặt và làm theo hướng dẫn.

Sau khi cài đặt, bạn có thể cần thêm MongoDB vào PATH của hệ thống. Đừng lo lắng; nó không恐怖 như bạn nghĩ. Nó giống như việc告诉 máy tính của bạn nơi tìm MongoDB khi bạn muốn sử dụng nó.

Trình điều khiển MongoDB

Bây giờ chúng ta đã có công cụ, chúng ta cần một cách để Node.js giao tiếp với MongoDB. Đây là nơi trình điều khiển MongoDB vào cuộc. Hãy tưởng tượng nó như một người dịch giữa Node.js và MongoDB.

Cài đặt Trình điều khiển MongoDB

Mở terminal, di chuyển đến thư mục dự án của bạn và chạy:

npm init -y
npm install mongodb

Lệnh đầu tiên thiết lập dự án của bạn, và lệnh thứ hai cài đặt trình điều khiển MongoDB. Nó giống như việc unpacking hộp công cụ của bạn và đảm bảo bạn có tất cả các công cụ cần thiết.

Kết nối với MongoDB

Được rồi, bây giờ đến phần thú vị - kết nối với cơ sở dữ liệu của chúng ta! Hãy viết một đoạn mã để thực hiện điều này.

Tạo một tệp mới có tên app.js trong thư mục dự án của bạn và thêm mã sau:

const { MongoClient } = require('mongodb');

// Địa chỉ kết nối
const url = 'mongodb://localhost:27017';

// Tên cơ sở dữ liệu
const dbName = 'myProject';

// Tạo một MongoClient mới
const client = new MongoClient(url);

// Sử dụng phương thức connect để kết nối với Server
async function connect() {
try {
await client.connect();
console.log("Kết nối thành công với máy chủ");

const db = client.db(dbName);

// Thực hiện các thao tác cơ sở dữ liệu ở đây

} catch (err) {
console.error("Lỗi kết nối với cơ sở dữ liệu", err);
} finally {
await client.close();
}
}

connect();

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

  1. Chúng ta import MongoClient từ trình điều khiển MongoDB.
  2. Chúng ta chỉ định URL nơi máy chủ MongoDB của chúng ta đang chạy. localhost:27017 là mặc định cho một cài đặt本地.
  3. Chúng ta đặt tên cho cơ sở dữ liệu của mình là myProject.
  4. Chúng ta tạo một MongoClient với URL của chúng ta.
  5. Chúng ta định nghĩa một hàm async gọi là connect(). Các hàm async giống như những người bạn kiên nhẫn chờ đợi các nhiệm vụ hoàn thành trước khi tiếp tục.
  6. Trong connect(), chúng ta sử dụng try/catch/finally để xử lý các lỗi tiềm ẩn một cách từ từ.
  7. Chúng ta sử dụng await client.connect() để kết nối với máy chủ. Từ khóa await giống như việc nói, "Hãy chờ, để chúng ta đợi điều này hoàn thành trước khi tiếp tục."
  8. Nếu kết nối thành công, chúng ta ghi một tin nhắn và lấy một tham chiếu đến cơ sở dữ liệu của chúng ta.
  9. Cuối cùng, chúng ta đóng kết nối trong khối finally.

Để chạy mã này, lưu tệp và gõ node app.js trong terminal. Nếu mọi thứ được thiết lập đúng cách, bạn nên thấy tin nhắn "Kết nối thành công với máy chủ" in ra trong console.

Chúc mừng! Bạn vừa kết nối thành công với MongoDB bằng Node.js. Nó giống như việc thực hiện cuộc gọi điện thoại đầu tiên - thú vị phải không?

Thực hiện các thao tác cơ sở dữ liệu

Bây giờ chúng ta đã kết nối, hãy thực hiện một thao tác đơn giản để chèn một tài liệu vào một bộ sưu tập.

Cập nhật tệp app.js của bạn:

// ... (mã trước đó giữ nguyên)

async function connect() {
try {
await client.connect();
console.log("Kết nối thành công với máy chủ");

const db = client.db(dbName);
const collection = db.collection('superheroes');

// Chèn một tài liệu
const result = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['ném lưới', 'cảm giác nhện', 'sức mạnh siêu nhân']
});

console.log(`Chèn tài liệu với _id: ${result.insertedId}`);

} catch (err) {
console.error("Lỗi thực hiện thao tác cơ sở dữ liệu", err);
} finally {
await client.close();
}
}

connect();

Đây là những gì mới:

  1. Chúng ta tạo một tham chiếu đến bộ sưu tập叫做 'superheroes'.
  2. Chúng ta sử dụng insertOne() để thêm một tài liệu vào bộ sưu tập.
  3. Chúng ta ghi _id của tài liệu đã chèn.

Chạy lại script với node app.js. Bạn nên thấy tin nhắn xác nhận rằng một tài liệu đã được chèn, kèm theo _id.

Truy xuất dữ liệu

Hãy thêm một thao tác nữa để truy xuất tài liệu chúng ta vừa chèn:

// ... (mã trước đó giữ nguyên)

async function connect() {
try {
await client.connect();
console.log("Kết nối thành công với máy chủ");

const db = client.db(dbName);
const collection = db.collection('superheroes');

// Chèn một tài liệu
const insertResult = await collection.insertOne({
name: 'Spider-Man',
realName: 'Peter Parker',
powers: ['ném lưới', 'cảm giác nhện', 'sức mạnh siêu nhân']
});

console.log(`Chèn tài liệu với _id: ${insertResult.insertedId}`);

// Tìm tài liệu chúng tôi vừa chèn
const findResult = await collection.findOne({ name: 'Spider-Man' });
console.log("Tài liệu tìm thấy:", findResult);

} catch (err) {
console.error("Lỗi thực hiện thao tác cơ sở dữ liệu", err);
} finally {
await client.close();
}
}

connect();

Bây giờ chúng ta sử dụng findOne() để truy xuất tài liệu chúng ta vừa chèn. Nó giống như việc hỏi cơ sở dữ liệu, "Hey, bạn có thể tìm Spider-Man cho tôi không?"

Chạy script lần cuối. Bạn nên thấy cả tin nhắn chèn và tài liệu tìm thấy in ra trong console.

Kết luận

Chúc mừng! Bạn vừa迈出了进入Node.js和MongoDB世界的第一步。我们已经涵盖了安装、连接和基本操作。记住,学习与数据库工作是学习一种新的超能力 - 它需要练习,但很快你将能够熟练地操纵数据!

以下是我们使用过的方法的快速回顾:

Phương thức Mô tả
MongoClient.connect() Kết nối với máy chủ MongoDB
client.db() Lấy tham chiếu đến một cơ sở dữ liệu
db.collection() Lấy tham chiếu đến một bộ sưu tập
collection.insertOne() Chèn một tài liệu vào bộ sưu tập
collection.findOne() Tìm một tài liệu trong bộ sưu tập

Tiếp tục thực hành, 保持好奇心, và sớm bạn sẽ xây dựng các ứng dụng tuyệt vời với Node.js và MongoDB. Chúc may mắn, những siêu anh hùng cơ sở dữ liệu tương lai!

Credits: Image by storyset