Cách tích hợp trình điều khiển Node.js MongoDB

Cach Tich Hop Trinh Dieu Khien Node Js Mongodb



MongoDB có một gói chính thức được gọi là Trình điều khiển Node.js MongoDB, cho phép tích hợp giữa các chương trình và cơ sở dữ liệu Node.js. Với ứng dụng này, chúng ta có thể kết nối, truy vấn, cập nhật và xóa tài liệu cùng với các hành động cơ sở dữ liệu khác. Để sử dụng Trình điều khiển Node.js MongoDB, chúng ta cần cài đặt gói mongodb từ npm, đây là Trình quản lý gói Node. Trong bài viết này, chúng tôi đã cung cấp từng giai đoạn để lấy mongodb từ npm bên dưới.

Thiết lập trình điều khiển MongoDB bằng mô-đun npm

Để có được trình điều khiển node.js MongoDB, trước tiên chúng ta cần tải mô-đun npm cho Node.js trên hệ thống của mình, mô-đun này cần được cập nhật. Chúng tôi đã cài đặt npm với phiên bản mới nhất trên toàn cầu trên hệ thống. Lệnh cài đặt mô-đun npm được cung cấp bên dưới:

cài đặt npm -g npm@9.8.1

Ở đây rõ ràng là module npm đã được thêm vào máy tính.









Bây giờ, chúng ta cần tích hợp MongoDB với trình điều khiển Node.js, vì vậy lệnh sau sẽ hỗ trợ chúng ta lấy trình điều khiển Mongodb bằng cách sử dụng lệnh npm. Các phần phụ thuộc được npm lưu trong một tệp có tên “package.json” với tùy chọn -save. Tuy nhiên, chúng ta có thể cài đặt trình điều khiển MongoDB và thêm nó vào phần phụ thuộc của dự án mà không cần tùy chọn –save để đạt được kết quả tương tự.



npm cài đặt mongodb --save

Trình điều khiển MongoDB hiện đã được cài đặt thành công, như trong hình dưới đây.





Bước tiếp theo là tạo một thư mục duy nhất để có thể đặt chương trình MongoDB. Để thực hiện việc này, hãy tạo thư mục “NewFolder” bằng lệnh mkdir. Lệnh tạo thư mục như sau:



mkdir Thư mục mới

Bây giờ, chúng tôi đã chỉ định đường dẫn như hiển thị bên dưới để vào thư mục cụ thể đó.

cd C:\Users\Hp\MyNodejs\NewFolder

Vì vậy, chúng ta hiện đang ở trong thư mục “NewFolder” đã được tạo ở bước trước. Chuyển sang quy trình tiếp theo, chúng tôi nhắc lệnh “npm init -y” để nhanh chóng khởi tạo dự án Node.js mới bằng cách tạo tệp pack.json với các giá trị mặc định mà không yêu cầu bất kỳ thông tin đầu vào nào của người dùng.

Tệp pack.json cơ bản với các giá trị mặc định đã được tạo dưới dạng đầu ra lệnh bên dưới.

Ví dụ # 1: Thiết lập kết nối với máy chủ MongoDB bằng cách tích hợp Node.js

Tất cả các bước ban đầu để tải trình điều khiển MongoDB trong Node.js đã được hoàn thành thành công trong phần trên. Bây giờ, chúng ta có thể dễ dàng thiết lập kết nối với máy chủ MongoDB. Để làm điều này, chúng tôi đã tạo một tệp trong thư mục “NewFolder” với tên “MongoDB.js”. Kịch bản để thiết lập kết nối được đưa ra dưới đây.

const { MongoClient } = yêu cầu ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const db_name = 'Cơ sở dữ liệu mới' ;
hàm không đồng bộ main() {
đang chờ client.connect();
console.log( 'Đã kết nối thành công với máy chủ MongoDB' );
const db = client.db(db_name);
bộ sưu tập const = db.collection( 'người dùng' );
trở lại 'xong.' ;
}

chủ yếu()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Chúng tôi đã thêm lớp “MongoClient” từ gói MongoDB để tạo kết nối máy chủ MongoDB. Sau đó, chúng tôi đã chỉ định các biến “url” và “db_name” trong đó URL máy chủ MongoDB được xác định, trong trường hợp này là localhost và chỉ định tên của cơ sở dữ liệu MongoDB “NewDatabase”.

Sau đó, chúng ta thiết lập hàm async và gọi nó là main(). Bên trong hàm main() đó, chúng ta đã sử dụng hàm connect() để thiết lập kết nối và khi kết nối được thiết lập thành công thì log() sẽ in thông báo.

Sau khi thiết lập kết nối, chúng tôi truy cập vào bộ sưu tập “người dùng”. Ở đây, chúng ta có thể thực hiện các thao tác cơ sở dữ liệu khác nhau bên trong hàm main. Tiếp theo, hàm main được gọi bằng cách sử dụng main().then(console.log).catch(console.error) để xử lý các trường hợp thành công và lỗi. Cuối cùng, chúng tôi đã đóng kết nối MongoDB bằng client.close() trong khối .finally().

Đầu ra hiển thị rằng kết nối với máy chủ MongoDB đã được thiết lập thành công khi chúng tôi thực thi tệp bằng lệnh nút.

Ví dụ # 2: Chèn Documents vào MongoDB Collection bằng cách sử dụng Node.js

Chúng tôi đã kết nối với máy chủ MongoDB ở phần trước. Khi kết nối được thiết lập, chúng ta có thể chèn tài liệu vào bộ sưu tập được chỉ định trong chương trình trên. Thao tác chèn tài liệu vào bộ sưu tập “người dùng” được thêm vào cùng một tệp, “MongoDB.js”.

const { MongoClient } = yêu cầu ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const db_name = 'Cơ sở dữ liệu mới' ;
hàm không đồng bộ main() {
đang chờ client.connect();
console.log( 'Đã kết nối thành công với máy chủ MongoDB' );
const db = client.db(db_name);
bộ sưu tập const = db.collection( 'người dùng' );

const chènDocs =
đang chờ bộ sưu tập.insertMany([{ tên: 'Alex' , thư điện tử: ' alex@example.com ' },
{ tên: 'Andy' , thư điện tử: ' andy@example.com ' },
{ tên: 'Bản thân anh ấy' , thư điện tử: ' sam@example.com ' }]);
console.log( 'Đã chèn tài liệu vào Bộ sưu tập =>' , chènDocs);
trở lại 'xong.' ;
}

chủ yếu()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Ở đây, tất cả kịch bản đều giống như trên; chúng ta vừa chèn thao tác chèn vào hàm async main(). Chúng tôi đã tạo biến “insertDocs” và sau đó gọi hàm InsertMany() bằng lệnh chờ. Đối với hàm InsertMany(), chúng ta đã chỉ định ba tài liệu chứa các trường “name” và “email” với các giá trị khác nhau trong mỗi tài liệu. Một câu lệnh sẽ được tạo khi tất cả các tài liệu đã được chèn chính xác.

Đầu ra hiển thị các tài liệu được chèn thành công vào bộ sưu tập với ba ID duy nhất.

Ví dụ # 3: Cập nhật tài liệu vào Bộ sưu tập bằng Node.js

Theo cách tương tự, chúng ta cũng có thể áp dụng thao tác cập nhật MongoDB trong Node.js bằng cách làm theo cùng một tệp, “MongoDB.js”. Thao tác này được thêm vào tệp dành cho thao tác cập nhật. Hãy xem xét chương trình cho hoạt động này.

const { MongoClient } = yêu cầu ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const db_name = 'Cơ sở dữ liệu mới' ;
hàm không đồng bộ main() {
đang chờ client.connect();
console.log( 'Đã kết nối thành công với máy chủ MongoDB' );
const db = client.db(db_name);
bộ sưu tập const = db.collection( 'người dùng' );

const updateDoc = đang chờ bộ sưu tập.updateOne({ tên: 'andy' },
{ $set: { email: ' andy12@example.com ' } });
console.log( 'Tài liệu được cập nhật trong Bộ sưu tập=>' , updateDoc);
trở lại 'xong.' ;
}

chủ yếu()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Ở đây, chúng tôi đã gọi biến là “updateDocs” trong đó thao tác cập nhật được xác định bằng toán tử $set. Định nghĩa của phương thức updateOne() nêu rõ rằng chỉ cần cập nhật một tài liệu. Trong phương thức updateOne() của MongoDB, chúng ta đã cung cấp trường tên với giá trị là câu lệnh đầu tiên, sau đó chúng ta đã cung cấp toán tử $set cho câu lệnh thứ hai, trong đó trường “email” được cung cấp để cập nhật email mới cho phù hợp .

Đầu ra được hiển thị trong đó tài liệu cần cập nhật được khớp và sửa đổi bằng cách sử dụng Node.js.

Ví dụ # 4: Xóa Tài liệu khỏi Bộ sưu tập MongoDB bằng Node.js

Tiếp theo, chúng ta áp dụng thao tác xóa MongoDB bằng Node.js. Hoạt động này được cung cấp trong tệp tương tự “MongoDB.js.”

const { MongoClient } = yêu cầu ( 'mongodb' );
const url = 'mongodb:// 127.0.0.1:27017 ' ;
const client = new MongoClient(url);
const db_name = 'Cơ sở dữ liệu mới' ;
hàm không đồng bộ main() {
đang chờ client.connect();
console.log( 'Đã kết nối thành công với máy chủ MongoDB' );
const db = client.db(db_name);
bộ sưu tập const = db.collection( 'người dùng' );

const deleteDoc = đang chờ bộ sưu tập.deleteOne({name: 'Andy' });
console.log( 'Tài liệu đã bị xóa=>' , xóaDoc);
trở lại 'xong.' ;
}

chủ yếu()
.then(console.log)
.catch(console.error)
.finally(() => client.close());

Ở đây, chúng tôi đã xác định biến mới “deleteDoc” trong đó tài liệu sẽ bị xóa khỏi cùng một bộ sưu tập “người dùng”. Phương thức deleteOne() được cung cấp trong biến “deleteDoc” để chỉ xóa tài liệu cụ thể, đó là tài liệu có trường “name” được lưu trữ với giá trị “Andy”. Khi tài liệu bị xóa khỏi bộ sưu tập, tệp Node.js cũng sẽ tạo thông báo xóa.

Đúng như mong đợi, tài liệu đã được xóa thành công khỏi bộ sưu tập “người dùng” MongoDB.

Phần kết luận

Chúng tôi đã trình bày cách thiết lập kết nối với cơ sở dữ liệu MongoDB và truy cập bộ sưu tập bằng Trình điều khiển Node.js MongoDB. Sau khi kết nối thành công với MongoDB, chúng tôi đã đưa thêm mã thao tác vào hàm main để thực hiện các thao tác MongoDB.