Hướng dẫn how does nodejs connect to mongodb atlas? - làm thế nào để nodejs kết nối với tập bản đồ mongodb?

Hướng dẫn how does nodejs connect to mongodb atlas? - làm thế nào để nodejs kết nối với tập bản đồ mongodb?

Sử dụng Node.js? Bạn muốn học MongoDB? Đây là loạt blog dành cho bạn!

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

Thích học bằng video? Tôi đã được bảo hiểm. Kiểm tra video dưới đây bao gồm cách kết nối cũng như cách thực hiện các hoạt động CRUD.

Cài đặt

Trước khi chúng tôi bắt đầu, chúng tôi cần đảm bảo bạn đã hoàn thành một vài bước tiên quyết.

Cài đặt Node.js

Đầu tiên, hãy chắc chắn rằng bạn đã cài đặt phiên bản được hỗ trợ của Node.js. Phiên bản hiện tại của trình điều khiển MongoDB Node.js yêu cầu Node 4.x trở lên. Đối với các ví dụ này, tôi đã sử dụng Node.js 14.15.4. Xem tài liệu tương thích MongoDB để biết thêm thông tin về phiên bản nào của Node.js là bắt buộc cho mỗi phiên bản của trình điều khiển Node.js.

Cài đặt trình điều khiển MongoDB Node.js

Trình điều khiển MongoDB Node.js cho phép bạn dễ dàng tương tác với cơ sở dữ liệu MongoDB từ bên trong các ứng dụng Node.js. Bạn sẽ cần trình điều khiển để kết nối với cơ sở dữ liệu của bạn và thực hiện các truy vấn được mô tả trong chuỗi khởi động nhanh này.

Nếu bạn không cài đặt trình điều khiển MongoDB Node.js, bạn có thể cài đặt nó bằng lệnh sau.

npm install mongodb

Tại thời điểm viết, phiên bản đã cài đặt 3.6.4 của trình điều khiển. Chạy

const {MongoClient} = require('mongodb');
3 sẽ hiển thị số phiên bản trình điều khiển hiện đã được cài đặt. Để biết thêm chi tiết về trình điều khiển và cài đặt, hãy xem tài liệu chính thức.

Tạo cụm Atlas MongoDB miễn phí và tải dữ liệu mẫu

Tiếp theo, bạn sẽ cần một cơ sở dữ liệu MongoDB. Cách dễ nhất để bắt đầu với MongoDB là sử dụng Atlas, cơ sở dữ liệu được quản lý đầy đủ của MongoDB.

Đi đến Atlas và tạo một cụm mới trong tầng miễn phí. Ở cấp độ cao, một cụm là một tập hợp các nút trong đó các bản sao của cơ sở dữ liệu của bạn sẽ được lưu trữ. Khi tầng của bạn được tạo, tải dữ liệu mẫu. Nếu bạn không quen thuộc với cách tạo một cụm mới và tải dữ liệu mẫu, hãy xem video hướng dẫn này từ nhà phát triển MongoDB Advocate Maxime Beugnet.

Bắt đầu với một cụm M0 trên Atlas ngày hôm nay. Nó miễn phí mãi mãi, và đó là cách dễ nhất để thử các bước trong loạt blog này.

Nhận thông tin kết nối cụm của bạn

Bước cuối cùng là chuẩn bị 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. Trình hướng dẫn kết nối cụm sẽ xuất hiện.CONNECT. The Cluster Connection Wizard will appear.

Trình hướng dẫn sẽ nhắc bạn thêm địa chỉ IP hiện tại của bạn vào danh sách truy cập IP và tạo người dùng MongoDB nếu bạn chưa làm như vậy. Hãy chắc chắn lưu ý tên người dùng và mật khẩu bạn sử dụng cho người dùng MongoDB mới vì bạn sẽ cần chúng trong bước sau.

Tiếp theo, trình hướng dẫn sẽ nhắc bạn chọn phương thức kết nối. Chọn Kết nối ứng dụng của bạn. Khi trình hướng dẫn nhắc bạn chọn phiên bản trình điều khiển của mình, hãy chọn Node.js và 3.6 trở lên. Sao chép chuỗi kết nối được cung cấp.Connect Your Application. When the Wizard prompts you to select your driver version, select Node.js and 3.6 or later. Copy the provided connection string.

Để biết thêm chi tiết về cách truy cập trình hướng dẫn kết nối và hoàn thành các bước được mô tả ở trên, hãy xem tài liệu chính thức.

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

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

Nhập Mongoclient

Mô -đun MongoDB xuất

const {MongoClient} = require('mongodb');
4 và đó là những gì chúng tôi sẽ sử dụng để kết nối với cơ sở dữ liệu MongoDB. Chúng ta có thể sử dụng một thể hiện của Mongoclient để kết nối với một cụm, truy cập cơ sở dữ liệu trong cụm đó và đóng kết nối với cụm đó.

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

Tạo chức năng chính của chúng tôi

Hãy để tạo ra một chức năng không đồng bộ có tên

const {MongoClient} = require('mongodb');
5 nơi chúng tôi sẽ kết nối với cụm MongoDB của chúng tôi, gọi các chức năng truy vấn cơ sở dữ liệu của chúng tôi và ngắt kết nối với cụm của chúng tôi.

async function main() {
	// we'll add code here soon
}

Điều đầu tiên chúng ta cần làm bên trong

const {MongoClient} = require('mongodb');
5 là tạo một hằng số cho URI kết nối của chúng tôi. URI kết nối là chuỗi kết nối bạn đã sao chép trong Atlas trong phần trước. Khi bạn dán chuỗi kết nối, đừng quên cập nhật
const {MongoClient} = require('mongodb');
7 và
const {MongoClient} = require('mongodb');
8 để trở thành thông tin đăng nhập cho người dùng bạn đã tạo trong phần trước. Chuỗi kết nối bao gồm một trình giữ chỗ
const {MongoClient} = require('mongodb');
9. Đối với các ví dụ này, chúng tôi sẽ sử dụng cơ sở dữ liệu
async function main() {
	// we'll add code here soon
}
0, vì vậy hãy thay thế
const {MongoClient} = require('mongodb');
9 bằng
async function main() {
	// we'll add code here soon
}
0.

Lưu ý: Tên người dùng và mật khẩu bạn cung cấp trong chuỗi kết nối không giống với thông tin đăng nhập ATLAS của bạn.: the username and password you provide in the connection string are NOT the same as your Atlas credentials.

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";

Bây giờ chúng tôi có URI của chúng tôi, chúng tôi có thể tạo ra một ví dụ của Mongoclient.

const client = new MongoClient(uri);

LƯU Ý: Khi bạn chạy mã này, bạn có thể thấy các công việc không dùng nữa xung quanh chuỗi URL

async function main() {
	// we'll add code here soon
}
3and, công cụ giám sát và khám phá máy chủ. Nếu bạn thấy những cảnh báo này, bạn có thể xóa chúng bằng cách chuyển các tùy chọn cho Mongoclient. Ví dụ: bạn có thể khởi tạo Mongoclient bằng cách gọi
async function main() {
	// we'll add code here soon
}
4. Xem tài liệu API trình điều khiển Node.js MongoDB để biết thêm thông tin về các tùy chọn này.
: When you run this code, you may see DeprecationWarnings around the URL string
async function main() {
	// we'll add code here soon
}
3and the Server Discover and Monitoring engine. If you see these warnings, you can remove them by passing options to the MongoClient. For example, you could instantiate MongoClient by calling
async function main() {
	// we'll add code here soon
}
4. See the Node.js MongoDB Driver API documentation for more information on these options.

Bây giờ chúng tôi đã sẵn sàng để sử dụng Mongoclient để kết nối với cụm của chúng tôi.

async function main() {
	// we'll add code here soon
}
5 sẽ trả lại một lời hứa. Chúng tôi sẽ sử dụng từ khóa đang chờ đợi khi chúng tôi gọi
async function main() {
	// we'll add code here soon
}
5 để cho biết rằng chúng tôi nên chặn thực hiện thêm cho đến khi thao tác đó hoàn thành.

await client.connect();

Bây giờ chúng tôi đã sẵn sàng để tương tác với cơ sở dữ liệu của chúng tôi. Hãy xây dựng một chức năng in tên của cơ sở dữ liệu trong cụm này. Nó thường hữu ích để chứa logic này trong các chức năng được đặt tên tốt để cải thiện khả năng đọc của cơ sở mã của bạn. Trong suốt loạt bài này, chúng tôi sẽ tạo các chức năng mới tương tự như chức năng chúng tôi tạo ở đây khi chúng tôi tìm hiểu cách viết các loại truy vấn khác nhau. Hiện tại, chúng ta hãy gọi một hàm có tên

async function main() {
	// we'll add code here soon
}
7.

await listDatabases(client);

Hãy để Lừa kết thúc các cuộc gọi của chúng tôi với các chức năng tương tác với cơ sở dữ liệu trong câu lệnh

async function main() {
	// we'll add code here soon
}
8 để chúng tôi xử lý mọi lỗi bất ngờ.

try {
    await client.connect();

    await listDatabases(client);
 
} catch (e) {
    console.error(e);
}

Chúng tôi muốn chắc chắn rằng chúng tôi đóng kết nối với cụm của chúng tôi, vì vậy chúng tôi sẽ kết thúc

async function main() {
	// we'll add code here soon
}
8 của chúng tôi bằng một câu lệnh
/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
0.

finally {
    await client.close();
}

Khi chúng tôi có chức năng

const {MongoClient} = require('mongodb');
5 được viết, chúng tôi cần gọi nó. Hãy để gửi các lỗi đến bảng điều khiển.

main().catch(console.error);

Đặt tất cả lại với nhau, chức năng

const {MongoClient} = require('mongodb');
5 của chúng tôi và cuộc gọi của chúng tôi đối với nó sẽ trông giống như những điều sau đây.

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

Liệt kê các cơ sở dữ liệu trong cụm của chúng tôi

Trong phần trước, chúng tôi đã tham khảo hàm

async function main() {
	// we'll add code here soon
}
7. Hãy để thực hiện nó!

Hàm này sẽ lấy một danh sách các cơ sở dữ liệu trong cụm của chúng tôi và in kết quả trong bảng điều khiển.

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

Lưu tệp của bạn

Bạn đã thực hiện rất nhiều mã. Lưu các thay đổi của bạn và đặt tên cho tệp của bạn một cái gì đó như

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
4. Để xem một bản sao của tệp hoàn chỉnh, hãy truy cập repo GitHub của NodeJS-Quickstart.

Thực thi tập lệnh node.js của bạn

Bây giờ bạn đã sẵn sàng để kiểm tra mã của bạn! Thực thi tập lệnh của bạn bằng cách chạy một lệnh như sau trong thiết bị đầu cuối của bạn:

/**
 * Connection URI. Update , , and  to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://:@/test?retryWrites=true&w=majority";
5

Bạn sẽ thấy đầu ra như sau:

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

Cái gì tiếp theo?

Hôm nay, bạn có thể kết nối với cơ sở dữ liệu MongoDB từ tập lệnh Node.js, truy xuất danh sách các cơ sở dữ liệu trong cụm của bạn và xem kết quả trong bảng điều khiển của bạn. Tốt đẹp!

Bây giờ bạn đã kết nối với cơ sở dữ liệu của mình, hãy tiếp tục bài đăng tiếp theo trong loạt bài này, nơi bạn sẽ học cách thực hiện từng thao tác CRUD (Tạo, đọc, cập nhật và xóa).

Trong thời gian chờ đợi, hãy xem các tài nguyên sau:

  • Tài liệu chính thức của MongoDB về Trình điều khiển MongoDB Node.js

  • Khóa học miễn phí của Đại học MongoDB: M220JS: MongoDB cho các nhà phát triển JavaScript

Câu hỏi? Bình luận? Chúng tôi muốn kết nối với bạn. Tham gia cuộc trò chuyện trên các diễn đàn cộng đồng MongoDB.

Tất cả các bài viết trong phần khởi đầu nhanh: Node.js và MongoDB Series:

  • Cách kết nối với cơ sở dữ liệu MongoDB bằng Node.js (bài đăng này)
  • MongoDB và Node.js - Hoạt động CRUD
  • Cách phân tích dữ liệu của bạn bằng khung tổng hợp của MongoDB và Node.js
  • Cách thực hiện các giao dịch bằng Node.js
  • Cách phản ứng với các thay đổi cơ sở dữ liệu với các luồng và kích hoạt thay đổi

Bắt đầu với MongoDB Atlas

Chạy MongoDB với Node.js bằng Atlas MongoDB. Bắt đầu miễn phí. Không cần thẻ tín dụng.

Node JS kết nối với MongoDB như thế nào?

Để kết nối một nút. Ứng dụng JS cho MongoDB, chúng ta phải sử dụng một thư viện tên là Mongoose. Mongoose.Connect ("MongoDB: // LocalHost: 27017/CollectionName", {UsenewurlParser: true, useUnifiedTopology: true});mongoose. connect("mongodb://localhost:27017/collectionName", { useNewUrlParser: true, useUnifiedTopology: true });

Làm thế nào để Atlas kết nối với MongoDB?

Nhấp vào cơ sở dữ liệu ở góc trên cùng bên trái của Atlas. Trong chế độ xem triển khai cơ sở dữ liệu, bấm Kết nối để triển khai cơ sở dữ liệu mà bạn muốn kết nối. In the Database Deployments view, click Connect for the database deployment to which you want to connect.

Làm thế nào để phản ứng JS kết nối với MongoDB Atlas?

Đầu tiên, chúng tôi tạo một ứng dụng React và sau đó để bảo trì phụ trợ, chúng tôi tạo API trong nút.JS và Express.JS đang chạy ở một cổng khác và ứng dụng React của chúng tôi chạy ở một cổng khác.Để kết nối React với cơ sở dữ liệu (MongoDB), chúng tôi tích hợp thông qua API.for connecting React to the database (MongoDB) we integrate through API.

Làm thế nào để NestJS kết nối với MongoDB Atlas?

Chuyển đến tài khoản Atlas MongoDB của bạn, truy cập cụm của bạn và nhấp vào nút Kết nối.Sao chép chuỗi thay thế tên người dùng trên mạng cho tên mà bạn đã tạo trong cụm MongoDB của bạn, cũng thay thế cho các trò chơi và cuối cùng thay thế thử nghiệm trên mạng cho tên của bộ sưu tập của bạn bên trong cơ sở dữ liệu bạn đã tạo trước đó.