Trong chương này, chúng ta sẽ học cách sử dụng MongoDB làm backend cho ứng dụng Node.js. Một ứng dụng Node.js có thể giao tiếp với MongoDB thông qua mô-đun NPM gọi là mongodb. MongoDB là một cơ sở dữ liệu NOSQL theo định dạng tài liệu. Nó là một kiến trúc cơ sở dữ liệu mã nguồn mở, phân tán và có khả năng mở rộng theo chiều ngang mà không cần lược đồ. Vì MongoDB sử dụng định dạng giống như JSON (gọi là BSON) cho việc lưu trữ và truyền dữ liệu, nên nó là một đối tác tự nhiên của Node.js, chính là một môi trường chạy JavaScript, được sử dụng cho xử lý phía máy chủ.
Phần mềm máy chủ MongoDB có sẵn dưới hai hình thức: Phiên bản cộng đồng và Phiên bản doanh nghiệp. Phiên bản cộng đồng MongoDB có sẵn cho các hệ điều hành Windows, Linux cũng như MacOS tại https://www.mongodb.com/try/download/community .
Tải xuống phiên bản mới nhất của trình cài đặt MongoDB ( https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-7.0.4-signed.msi ) và bắt đầu trình hướng dẫn cài đặt bằng cách nhấp đúp vào tệp.
Chọn tùy chọn cài đặt Tùy chỉnh để chỉ định một thư mục cài đặt thuận tiện.
Bỏ chọn tùy chọn "Cài đặt MongoD như một dịch vụ", và chấp nhận các tùy chọn thư mục dữ liệu và nhật ký mặc định.
Tiến hành các bước còn lại trong trình hướng dẫn cài đặt.
Tạo một thư mục "d:\data\db" và chỉ định nó làm dbpath trong lệnh sau để khởi động máy chủ MongoDB −
"D:\mongodb7\mongod.exe" --dbpath="d:\data\db"
Trình cài đặt cũng hướng dẫn bạn cài đặt MongoDB Compass, một ứng dụng GUI để tương tác với máy chủ MongoDB. Máy chủ MongoDB bắt đầu lắng nghe các yêu cầu kết nối đến tại cổng 27017 theo mặc định. Bắt đầu ứng dụng Compass và kết nối với máy chủ bằng chuỗi kết nối mặc định là 'mongodb://localhost:27017'.
Để cài đặt máy chủ MongoDB trên Ubuntu Linux, hãy nhập lệnh sau để tải lại cơ sở dữ liệu gói cục bộ −
sudo apt-get update
Bây giờ bạn có thể cài đặt phiên bản ổn định mới nhất của MongoDB hoặc một phiên bản cụ thể của MongoDB.
Để cài đặt phiên bản ổn định mới nhất, hãy thực hiện lệnh sau:
sudo apt-get install -y mongodb-org
Bây giờ chúng ta cần cài đặt mô-đun driver mongodb từ kho NPM, để một ứng dụng Node.js có thể tương tác với MongoDB.
Khởi tạo một ứng dụng Node.js mới trong một thư mục mới với lệnh sau −
D:\nodejs\mongoproj>npm init -y Wrote to D:\nodejs\mongoproj\package.json: { "name": "mongoproj", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], "author": "", "license": "ISC" }
Cài đặt mô-đun trình điều khiển mongodb từ kho NPM với lệnh sau −
D:\nodejs\mongoproj>npm install mongodb
Bây giờ chúng ta có thể thiết lập kết nối với máy chủ MongoDB. Đầu tiên, hãy nhập lớp MongoClient từ mô-đun mongodb bằng câu lệnh require(). Gọi phương thức connect() của nó bằng cách truyền vào URL của máy chủ MongoDB.
const { MongoClient } = require('mongodb'); // Connection URL const url = 'mongodb://localhost:27017'; const client = new MongoClient(url); // Database Name const dbName = 'myProject'; async function main() { // Use connect method to connect to the server await client.connect(); console.log('Connected successfully to server'); const db = client.db(dbName); const collection = db.collection('documents'); // the following code examples can be pasted here... return 'done.'; } main() .then(console.log) .catch(console.error) .finally(() => client.close());
Giả sử rằng kịch bản trên được lưu dưới tên app.js, hãy chạy ứng dụng từ dòng lệnh −
PS D:\nodejs\mongoproj> node app.js Connected successfully to server done.