Cụm MongoDB kết nối với Nodejs như thế nào?

Trong hướng dẫn bắt đầu nhanh này, tôi sẽ hướng dẫn bạn các nguyên tắc cơ bản của việc sử dụng MongoDB với Node. js. Chúng tôi sẽ làm việc thông qua việc thiết lập kết nối tới cơ sở dữ liệu MongoDB từ một Nút. js, truy xuất danh sách cơ sở dữ liệu và in kết quả ra bảng điều khiển của bạn

Thiết lập mọi thứ

Trước khi chúng tôi bắt đầu, chúng tôi yêu cầu phải đáp ứng tất cả các điều kiện tiên quyết để sử dụng MongoDB với Node. js

Thiết lập nút. js

Trước tiên, chúng tôi cần đảm bảo bạn có phiên bản Node được hỗ trợ. js. Nếu bạn không có phiên bản Node được hỗ trợ. js đây là một bài viết có thể giúp bạn nâng cấp lên phiên bản mới nhất. Phiên bản mới nhất của MongoDB yêu cầu một Nút. js phiên bản 4. 0 hoặc cao hơn. Đối với bài viết này, chúng tôi sẽ sử dụng Node. js phiên bản 14. 15. 4

Cài đặt nút MongoDB. gói js

Nút MongoDB. js cho phép bạn dễ dàng tương tác và thực hiện các truy vấn với cơ sở dữ liệu MongoDB từ bên trong Node. ứng dụng js. Cần có gói cho hướng dẫn bắt đầu nhanh này

Nếu bạn không có Nút MongoDB. js đã được cài đặt, bạn chỉ cần cài đặt nó bằng cách thực hiện lệnh sau

npm install mongodb

Chạy lệnh này cũng sẽ hiển thị số phiên bản gói hiện được cài đặt. Xem tài liệu Tương thích MongoDB để biết thêm thông tin về phiên bản Node nào. js là bắt buộc đối với mỗi phiên bản của Nút. js

Tạo cụm tập bản đồ MongoDB và tải dữ liệu

Thứ bạn cần tiếp theo là cơ sở dữ liệu MongoDB. Nếu bạn chưa có cơ sở dữ liệu, bạn có thể tạo một cơ sở dữ liệu bằng Atlas. Atlas là dịch vụ cơ sở dữ liệu được quản lý hoàn toàn của MongoDB, cho phép bạn tạo và thao tác với cơ sở dữ liệu theo ý muốn. Atlas giúp bạn tạo một cụm, một tập hợp các nút nơi các bản sao cơ sở dữ liệu của bạn sẽ được lưu trữ

Thông tin kết nối của cụm

Bước cuối cùng là chuẩn bị sẵn cụm của bạn để kết nối

Trong Atlas, điều hướng đến cụm của bạn và nhấp vào kết nối sẽ nhắc Trình hướng dẫn kết nối máy khách. Trình hướng dẫn sẽ hiển thị địa chỉ IP hiện tại của bạn và thêm nó vào Danh sách truy cập IP. Bạn có thể tạo người dùng MongoDB tại đây nếu bạn chưa làm như vậy. Điều quan trọng cần lưu ý tên người dùng và mật khẩu của bạn vì chúng sẽ được yêu cầu sau này

Tiếp theo, trình hướng dẫn sẽ nhắc bạn chọn phương thức kết nối. Tại đây, bạn phải chọn “Kết nối ứng dụng của bạn”, sau đó sẽ nhắc chọn phiên bản trình điều khiển. Điều này sẽ cung cấp cho bạn một chuỗi kết nối mà bạn sẽ cần sao chép để sử dụng sau này

Kết nối với cơ sở dữ liệu của bạn từ Node. js

Bây giờ mọi thứ đã được thiết lập, đã đến lúc viết một Nút. js kết nối với cơ sở dữ liệu của bạn và liệt kê tất cả các cơ sở dữ liệu trong cụm của bạn

Nhập MongoClient

Mô-đun của MongoDB xuất MongoClient, mà chúng tôi sẽ sử dụng để kết nối với cơ sở dữ liệu MongoDB của chúng tôi. Chúng tôi sẽ sử dụng một phiên bản MongoClient để kết nối với một cụm, truy cập một cơ sở dữ liệu cụ thể trong cụm và đóng kết nối của chúng tôi

const {MongoClient} = require(“mongodb”)
Tạo chức năng chính của chúng tôi

Tiếp theo, chúng ta sẽ tạo một hàm main() cho phép chúng ta kết nối với cụm MongoDB, gọi các hàm để truy vấn cơ sở dữ liệu của chúng ta và đóng kết nối của chúng ta

async function main() {// Code}

Trong chức năng chính, chúng tôi sẽ tạo một phiên bản không đổi cho URL kết nối của chúng tôi. URL kết nối là một tập hợp các hướng dẫn mà gói sử dụng để kết nối với cơ sở dữ liệu MongoDB. Nó hướng dẫn gói về cách kết nối với MongoDB và cách nó hoạt động. URL kết nối được xác định như sau

Để biết thêm thông tin về cách thiết lập kết nối, hãy truy cập tài liệu chính thức

The connection URI for our quick start guide is the one you copied in Atlas in the previous section. While pasting don’t forget to update the and tags with the credentials you created in the previous section. The string also includes the tag which should be updated with the name of the database you want to access in your cluster.

const uri = “mongodb+srv://:@/test?retryWrites=true&w=majority”;

Bây giờ chúng tôi đã tạo URI của mình, chúng tôi sẽ tạo một phiên bản MongoClient của chúng tôi

const client = new MongoClient(uri);

Ghi chú. Khi bạn chạy mã này, bạn có thể nhận được một số Cảnh báo không dùng nữa xung quanh chuỗi URL. Bạn có thể loại bỏ điều này bằng cách chuyển các tùy chọn cho MongoClient. Xem nút. js MongoDB API tài liệu để được trợ giúp thêm

Bây giờ chúng tôi đã sẵn sàng để thiết lập kết nối với cụm của mình bằng MongoClient. Chúng tôi sẽ sử dụng khách hàng. connect() để kết nối với cơ sở dữ liệu của chúng tôi. Chúng tôi sẽ sử dụng điều này với một từ khóa đang chờ để cho biết rằng chúng tôi nên chặn việc thực thi mã tiếp theo cho đến khi thao tác đó được hoàn thành

await client.connect();

Bây giờ chúng ta có thể tương tác với cơ sở dữ liệu của mình. Đối với hướng dẫn này, chúng tôi sẽ xây dựng một chức năng in danh sách tất cả các cơ sở dữ liệu trong cụm của chúng tôi. Thực tế phổ biến là sử dụng tên logic để cải thiện khả năng đọc mã của bạn. Bây giờ chúng ta hãy gọi hàm listDatabases()

await listDatabases(client);

Chúng tôi có thể cải thiện mã của mình hơn nữa bằng cách gói nó trong câu lệnh thử và bắt. Điều này sẽ cho phép chúng tôi xử lý và đối phó với bất kỳ lỗi không mong muốn nào. Chúng tôi cũng muốn đảm bảo rằng kết nối của chúng tôi vẫn an toàn nên chúng tôi sẽ đóng kết nối của mình bằng câu lệnh cuối cùng

try {await client.connect();await listDatabases(client);}catch (e) {console.error(e);}finally {await client.close();}

Bây giờ chúng ta đã có chức năng chính sẵn sàng, chúng ta sẽ cần gọi nó và gửi lỗi đến bảng điều khiển. Đặt tất cả lại với nhau, mã của chúng tôi trông giống như thế này

async function main(){const uri = “mongodb+srv://:@/test?retryWrites=true&w=majority”;const client = new MongoClient(uri);try {await client.connect();await listDatabases(client);}catch (e) {console.error(e);}finally {await client.close();}}main.catch(console.error);
Liệt kê các cơ sở dữ liệu trong cụm

Nút. js cho phép chúng tôi tạo các chức năng khác nhau để thao tác cụm MongoDB của chúng tôi theo những cách khác nhau. Đối với hướng dẫn bắt đầu nhanh này, chúng tôi sẽ tạo một hàm listDatabases sẽ liệt kê tất cả các cơ sở dữ liệu trong cụm. Loại chức năng này hữu ích trong trường hợp cần quản lý cẩn thận nhiều cơ sở dữ liệu hoặc trong phân tích dữ liệu khi các xu hướng trong cơ sở dữ liệu này có thể liên quan đến cơ sở dữ liệu khác

Chức năng của chúng tôi sẽ lấy tên của tất cả các cơ sở dữ liệu trong cụm của chúng tôi và in chúng ra bàn điều khiển

async function listDatabases(client){databasesList = await client.db().admin().listDatabases();console.log(“Databases:”);databasesList.databases.forEach(db => console.log(` — ${db.name}`));};
Thực thi mã của bạn

Trước khi thực thi mã của bạn, điều quan trọng là phải lưu tập lệnh của bạn vào một tệp. Điều này có thể được đặt tên bất cứ điều gì nhưng nó là một quy ước phổ biến để đặt tên hợp lý cho tệp của bạn. Vì mục đích này, tôi đã đặt tên cho tệp của mình là “demo. js”

Tập lệnh có thể được thực thi bằng cách chạy một dòng lệnh trong thiết bị đầu cuối

const {MongoClient} = require(“mongodb”)
0

Thiết bị đầu cuối sẽ hiển thị tên của tất cả các cơ sở dữ liệu trong cụm của bạn

Suy nghĩ cuối cùng

Hôm nay chúng ta đã có thể thiết lập kết nối đến cơ sở dữ liệu MongoDB của mình. Chúng tôi đã có thể viết một Node. js, truy xuất danh sách cơ sở dữ liệu trong cụm của chúng tôi và xem xét kết quả trong bảng điều khiển. Chúng tôi cũng hiểu URL kết nối và cách nó thay đổi hành vi kết nối của chúng tôi cũng như viết các chức năng có thể giúp truy vấn cơ sở dữ liệu của chúng tôi

Tôi hy vọng bài viết này đã giúp bạn hiểu những điều cơ bản về kết nối Node. js và MongoDB. Để được trợ giúp thêm, bạn có thể truy cập Tài liệu chính thức của MongoDB, nơi họ cung cấp chi tiết rõ ràng về bất kỳ sự cố nào bạn có thể gặp phải khi cài đặt hoặc kết nối với cơ sở dữ liệu của mình

MongoDB kết nối với ứng dụng nút js như thế nào?

Để kết nối một Nút. js sang MongoDB, chúng ta phải sử dụng thư viện có tên là Mongoose . cầy mangut. kết nối ("mongodb. //máy chủ cục bộ. 27017/collectionName", { useNewUrlParser. đúng, sử dụngUnifiedTopology. đúng });

Làm cách nào để kết nối với cụm MongoDB?

Kết nối với MongoDB Shell để tương tác với cụm của bạn bằng giao diện Javascript của mongosh . Kết nối ứng dụng của bạn với cụm của bạn bằng Nút. js hoặc trình điều khiển PyMongo. Kết nối với cụm của bạn bằng MongoDB Compass để khám phá, sửa đổi và trực quan hóa dữ liệu của bạn bằng Compass.

Làm cách nào để kết nối MongoDB cục bộ với nút JS?

Kết nối MongoDB . var MongoClient = require('mongodb'). MongoClient; . kết nối ("mongodb. //máy chủ cục bộ. 27017/MyDb", function (err, db) { if(err) throw err; // Viết cơ sở dữ liệu Chèn/Cập nhật/Mã truy vấn tại đây. });

Cụm MongoDB kết nối cục bộ như thế nào?

Để kết nối với các cụm cơ sở dữ liệu MongoDB bằng MongoDB Compass, bạn cần ba thứ. Để thêm máy tính cục bộ của bạn vào các nguồn đáng tin cậy của cơ sở dữ liệu. Để cài đặt MongoDB Compass trên máy tính cục bộ của bạn. Để sao chép chuỗi kết nối của cụm cơ sở dữ liệu, chuỗi này cho khách hàng biết cách kết nối với cụm