Hướng dẫn how to use mongodb with node js - cách sử dụng mongodb với nút js

Hướng dẫn how to use mongodb with node js - cách sử dụng mongodb với nút js

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 <username>, <password>, and <your-cluster-url> to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://<username>:<password>@<your-cluster-url>/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 <username>, <password>, and <your-cluster-url> to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://<username>:<password>@<your-cluster-url>/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 <username>, <password>, and <your-cluster-url> to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://<username>:<password>@<your-cluster-url>/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 <username>, <password>, and <your-cluster-url> to reflect your cluster.
 * See https://docs.mongodb.com/ecosystem/drivers/node/ for more details
 */
const uri = "mongodb+srv://<username>:<password>@<your-cluster-url>/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.

MongoDB hoạt động như thế nào trong Node JS?

Cài đặt..
Cài đặt nút. JS. ....
Cài đặt nút MongoDB. Trình điều khiển JS. ....
Tạo một 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. ....
Nhận thông tin kết nối của cụm của bạn. ....
Nhập Mongoclient. ....
Tạo chức năng chính của chúng tôi. ....
Liệt kê các cơ sở dữ liệu trong cụm của chúng tôi. ....
Lưu tệp của bạn ..

Node js có cần thiết cho MongoDB không?

Bạn sẽ cần cài đặt Node.js và MongoDB trên hệ thống của bạn và một dòng lệnh với lệnh Curl có sẵn.. js and MongoDB installed on your system, and a command line with the curl command available. (If you're using a Linux, MacOS, or Windows 10 version since 2018, you most likely have curl.) You can download MongoDB for your OS here.

Làm cách nào để sử dụng MongoDB và MySQL trong Node JS?

JS có khả năng làm việc với cả MySQL và MongoDB làm cơ sở dữ liệu.Để sử dụng một trong hai cơ sở dữ liệu này, bạn cần tải xuống và sử dụng các mô -đun cần thiết bằng cách sử dụng Trình quản lý gói nút.Đối với MySQL, mô -đun cần thiết được gọi là MySQUL, và để sử dụng MongoDB, mô -đun cần thiết được cài đặt là Cài đặt Mongoose.download and use the required modules using the Node package manager. For MySQL, the required module is called “mysql” and for using MongoDB the required module to be installed is “Mongoose.”

Tại sao MongoDB tốt với Node JS?

Node và MongoDB hoạt động rất tốt với nhau, một phần vì Mongo sử dụng công cụ JavaScript được tích hợp trong cơ sở dữ liệu vì JavaScript rất giỏi trong việc xử lý các đối tượng JSON.So với các cơ sở dữ liệu khác, chẳng hạn như MySQL, MongoDB nhanh chóng lưu trữ một số loại dữ liệu nhất định và có thể được mở rộng tự động.Mongo uses a JavaScript engine built into the database since JavaScript is good at handling JSON objects. Compared to other databases, such as MySQL, MongoDB is fast for storing certain types of data and can be automatically scaled.