Node.js MongoDB Hướng dẫn có ví dụ
⚡ Tóm tắt thông minh
Node.js MongoDB Việc tích hợp này cho phép ứng dụng Node.js kết nối với cơ sở dữ liệu NoSQL, thực hiện các thao tác CRUD và hiển thị các bản ghi trực tiếp thông qua các tuyến Express, sử dụng trình điều khiển mongodb gốc cùng với Mongoose để mô hình hóa dữ liệu dựa trên lược đồ.
Hầu hết các ứng dụng web hiện đại đều có một hệ thống lưu trữ dữ liệu nào đó ở phía máy chủ. Ví dụ, nếu bạn xem xét trường hợp của một cửa hàng trực tuyến.ping Trong ứng dụng này, dữ liệu như giá của một mặt hàng sẽ được lưu trữ trong cơ sở dữ liệu.
Khung công tác Node js có thể hoạt động với cơ sở dữ liệu có cả quan hệ (chẳng hạn như Oracle và MS SQL Server) và cơ sở dữ liệu phi quan hệ (chẳng hạn như MongoDB). Trong hướng dẫn này, chúng ta sẽ xem cách chúng ta có thể sử dụng cơ sở dữ liệu từ bên trong các ứng dụng Node js.
Cơ sở dữ liệu Node.js và NoSQL
Qua nhiều năm, các cơ sở dữ liệu NoSQL như... MongoDB và các cơ sở dữ liệu quan hệ như MySQL Chúng đã trở nên khá phổ biến như các cơ sở dữ liệu để lưu trữ dữ liệu. Khả năng lưu trữ bất kỳ loại dữ liệu nào và đặc biệt là ở bất kỳ định dạng nào là điều khiến các cơ sở dữ liệu này được sử dụng rộng rãi.
Node.js có khả năng hoạt động với cả hai MySQL và MongoDB như 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 trình quản lý gói Node.
Trong cáp MySQLMô-đun cần thiết có tên là “mysql”. MongoDBCác nhà phát triển có thể cài đặt phiên bản gốc chính thức. mongodb trình điều khiển, là gói được sử dụng xuyên suốt các ví dụ mã trong bài viết này, hoặc một thư viện dựa trên lược đồ như... Mongoose Khi ứng dụng cần có cấu trúc chặt chẽ hơn.
Với các mô-đun này, bạn có thể thực hiện các hoạt động sau trong Node.js
- Quản lý nhóm kết nối – Đây là nơi bạn có thể chỉ định số lượng MySQL các kết nối cơ sở dữ liệu cần được Node.js duy trì và lưu lại.
- Tạo và đóng kết nối tới cơ sở dữ liệu. Trong cả hai trường hợp, bạn có thể cung cấp chức năng gọi lại có thể được gọi bất cứ khi nào phương thức kết nối “tạo” và “đóng” được thực thi.
- Các truy vấn có thể được thực hiện để lấy dữ liệu từ cơ sở dữ liệu tương ứng để lấy dữ liệu.
- Thao tác dữ liệu, chẳng hạn như chèn dữ liệu, xóa và cập nhật dữ liệu cũng có thể được thực hiện bằng các mô-đun này.
Đối với các chủ đề còn lại, chúng ta sẽ xem xét cách chúng ta có thể làm việc với MongoDB cơ sở dữ liệu bên trong Node.js, bắt đầu bằng việc so sánh nhanh hai cách nói chuyện phổ biến nhất. MongoDB Từ một dự án Node.js.
MongoDB So sánh Native Driver và Mongoose trong Node.js
Tên các module được đề cập ở trên có thể gây nhầm lẫn, bởi vì Node.js cung cấp hai cách khác nhau để giao tiếp với chúng. MongoDBngười bản địa mongodb người lái xe và Mongoose ODM (thư viện mô hình hóa dữ liệu đối tượng). Mọi ví dụ mã sau trong bài viết này đều sử dụng trình điều khiển gốc, được cài đặt cùng với npm cài đặt mongodb và được truy cập thông qua MongoKhách hàngMongoose bao bọc cùng một trình điều khiển đó và bổ sung thêm định nghĩa lược đồ, xác thực và các phương thức mô hình có thể tái sử dụng, phù hợp với các ứng dụng lớn cần cấu trúc dữ liệu có thể dự đoán được trên nhiều tập hợp. Hiểu rõ sự khác biệt ngay từ đầu sẽ tránh được sự nhầm lẫn khi cài đặt gói hoặc đọc các tài liệu Node.js khác. MongoDB Ví dụ trực tuyến. Bảng dưới đây so sánh cả hai tùy chọn để nhà phát triển có thể chọn công cụ phù hợp cho dự án cụ thể.
| Yếu tố | Trình điều khiển MongoDB gốc | Mongoose |
|---|---|---|
| Thi công | npm cài đặt mongodb | npm cài đặt cầy mangut |
| Thực thi giản đồ | Không có gì, tài liệu vẫn giữ nguyên tính linh hoạt. | Được định nghĩa thông qua một đối tượng Schema. |
| Đường cong học tập | Thấp hơn, gần với nguyên liệu thô hơn MongoDB truy vấn | Cao hơn, bổ sung thêm lớp API riêng. |
| Tốt nhất cho | Các đoạn mã nhỏ và mã nhạy cảm về hiệu năng | Các ứng dụng lớn hơn với mô hình dữ liệu nhất quán |
Mẹo: Hãy sử dụng trình điều khiển gốc trong khi học các kiến thức cốt lõi. MongoDB các lệnh, sau đó chuyển sang Mongoose khi ứng dụng cần xác thực lược đồ trên nhiều bộ sưu tập khác nhau.
Sử dụng MongoDB và Node.js
Sau khi làm rõ thuật ngữ, phần còn lại của bài viết này chỉ sử dụng trình điều khiển gốc, chính xác như trong các ví dụ mã bên dưới. Như đã thảo luận trong chủ đề trước, MongoDB là một trong những cơ sở dữ liệu phổ biến nhất được sử dụng cùng với Node.js.
Trong chương này, chúng ta sẽ tìm hiểu cách thiết lập kết nối với một MongoDB Bài viết này sẽ hướng dẫn cách sử dụng cơ sở dữ liệu, và cách thực hiện các thao tác thông thường như đọc dữ liệu từ cơ sở dữ liệu, cũng như chèn, xóa và cập nhật bản ghi. MongoDB cơ sở dữ liệu.
Với mục đích của chương này, hãy giả sử rằng chúng ta có những điều dưới đây MongoDB dữ liệu tại chỗ.
Tên cơ sở dữ liệu: Nhân viên DB
Tên bộ sưu tập: Nhân viên
Documents
{
{Employeeid : 1, Employee Name : Guru99},
{Employeeid : 2, Employee Name : Joe},
{Employeeid : 3, Employee Name : Martin},
}
- Cài đặt mô-đun NPM
Bạn cần có trình điều khiển để truy cập Mongo từ bên trong ứng dụng Node. Có sẵn một số trình điều khiển Mongo, nhưng MongoDB là một trong những phổ biến nhất. Để cài đặt MongoDB mô-đun, chạy lệnh dưới đây
npm cài đặt mongodb
- Tạo và đóng kết nối tới một MongoDB cơ sở dữ liệu. Đoạn mã dưới đây cho thấy cách tạo và đóng kết nối tới một MongoDB cơ sở dữ liệu.
Code Giải thích:
- Bước đầu tiên là bao gồm MongoDB Mô-đun điều khiển được thực hiện thông qua hàm `require`. Sau khi mô-đun này được cài đặt, chúng ta có thể sử dụng các hàm cần thiết có sẵn trong mô-đun này để tạo kết nối đến cơ sở dữ liệu.
- Tiếp theo, chúng tôi chỉ định chuỗi kết nối của mình với cơ sở dữ liệu. Trong chuỗi kết nối, có 3 giá trị khóa được truyền.
- Đầu tiên là 'mongodb' chỉ rõ rằng chúng ta đang kết nối với cơ sở dữ liệu mongoDB.
- Tiếp theo là 'localhost' có nghĩa là chúng ta đang kết nối với cơ sở dữ liệu trên máy cục bộ.
- Tiếp theo là 'EmployeeDB' là tên của cơ sở dữ liệu được xác định trong MongoDB cơ sở dữ liệu.
- Bước tiếp theo là kết nối với cơ sở dữ liệu của chúng ta. Hàm `connect` nhận vào tham số của chúng ta. URL và có chức năng chỉ định hàm gọi lại. Hàm này sẽ được gọi khi kết nối đến cơ sở dữ liệu được mở. Điều này cho phép chúng ta biết liệu kết nối cơ sở dữ liệu có thành công hay không.
- Trong hàm, chúng ta đang viết chuỗi “Đã thiết lập kết nối” vào bảng điều khiển để cho biết rằng một kết nối thành công đã được tạo.
- Cuối cùng, chúng ta đóng kết nối bằng câu lệnh db.close.
Nếu đoạn mã trên được thực thi đúng cách, chuỗi “Đã kết nối” sẽ được ghi vào bảng điều khiển như hiển thị bên dưới.
- Truy vấn dữ liệu trong một MongoDB cơ sở dữ liệu - Sử dụng MongoDB trình điều khiển, chúng tôi cũng có thể lấy dữ liệu từ MongoDB cơ sở dữ liệu. Phần dưới đây sẽ trình bày cách chúng ta có thể sử dụng trình điều khiển để truy xuất tất cả các tài liệu từ bộ sưu tập Employee trong cơ sở dữ liệu EmployeeDB của chúng ta. Đây là bộ sưu tập trong cơ sở dữ liệu của chúng ta. MongoDB cơ sở dữ liệu chứa tất cả các tài liệu liên quan đến nhân viên. Mỗi tài liệu có một id đối tượng, tên nhân viên và id nhân viên để xác định các giá trị của tài liệu.
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { var cursor = db.collection('Employee').find(); cursor.each(function(err, doc) { console.log(doc); }); });
Code Giải thích:
- Bước đầu tiên, chúng ta tạo một con trỏ (con trỏ là một con trỏ được sử dụng để trỏ đến các bản ghi khác nhau được truy xuất từ cơ sở dữ liệu. Con trỏ sau đó được sử dụng để lặp qua các bản ghi khác nhau trong cơ sở dữ liệu. Ở đây, chúng ta định nghĩa một biến có tên là `cursor` sẽ được sử dụng để lưu trữ con trỏ đến các bản ghi được truy xuất từ cơ sở dữ liệu) trỏ đến các bản ghi được truy xuất từ bộ sưu tập MongoDb. Chúng ta cũng có thể chỉ định bộ sưu tập 'Employee' để truy xuất các bản ghi. Hàm `find()` được sử dụng để chỉ định rằng chúng ta muốn truy xuất tất cả các tài liệu từ bộ sưu tập đó. MongoDB bộ sưu tập.
- Bây giờ chúng ta đang lặp qua con trỏ và với mỗi tài liệu trong con trỏ, chúng ta sẽ thực thi một hàm.
- Chức năng của chúng tôi chỉ đơn giản là in nội dung của từng tài liệu lên bảng điều khiển.
Chú thích: - Cũng có thể truy xuất một bản ghi cụ thể từ cơ sở dữ liệu. Điều này có thể được thực hiện bằng cách chỉ định điều kiện tìm kiếm trong hàm find(). Ví dụ, giả sử bạn chỉ muốn truy xuất bản ghi có tên nhân viên là... Guru99, thì câu phát biểu này có thể được viết như sau:
var cursor=db.collection('Employee').find({EmployeeName: "guru99"})
Nếu đoạn mã trên được thực thi thành công, kết quả sau sẽ được hiển thị trong bảng điều khiển của bạn.
Đầu ra:
Từ đầu ra,
- Bạn sẽ có thể thấy rõ ràng rằng tất cả các tài liệu từ bộ sưu tập đều được truy xuất. Điều này có thể thực hiện được bằng cách sử dụng phương thức find() của kết nối mongoDB (db) và lặp qua tất cả các tài liệu bằng con trỏ.
- Chèn tài liệu vào bộ sưu tập – Tài liệu có thể được chèn vào bộ sưu tập bằng phương thức InsertOne được cung cấp bởi MongoDB thư viện. Đoạn mã bên dưới cho thấy cách chúng ta có thể chèn một tài liệu vào bộ sưu tập mongoDB.
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { db.collection('Employee').insertOne({ Employeeid: 4, EmployeeName: "NewEmployee" }); });
Code Giải thích:
- Ở đây chúng tôi đang sử dụng phương thức InsertOne từ MongoDB thư viện để chèn tài liệu vào bộ sưu tập Nhân viên.
- Chúng tôi đang chỉ định chi tiết tài liệu cần chèn vào bộ sưu tập Nhân viên.
Nếu bây giờ bạn kiểm tra nội dung của MongoDB cơ sở dữ liệu, bạn sẽ tìm thấy bản ghi có ID nhân viên là 4 và Tên nhân viên là “Nhân viên mới” được chèn vào bộ sưu tập Nhân viên.
Lưu ý: Bảng điều khiển sẽ không hiển thị bất kỳ đầu ra nào vì bản ghi đang được chèn vào cơ sở dữ liệu và không có đầu ra nào có thể được hiển thị ở đây.
Để kiểm tra xem dữ liệu đã được chèn đúng vào cơ sở dữ liệu chưa, bạn cần thực hiện các lệnh sau trong MongoDB
- Sử dụng cơ sở dữ liệu nhân viên
- db.Employee.find({Employeeid :4 })
Câu lệnh đầu tiên đảm bảo rằng bạn được kết nối với cơ sở dữ liệu StaffDb. Câu lệnh thứ hai tìm kiếm bản ghi có id nhân viên là 4.
- Cập nhật tài liệu trong bộ sưu tập – Tài liệu có thể được cập nhật trong bộ sưu tập bằng phương thức updateOne do MongoDB thư viện. Đoạn mã dưới đây cho thấy cách cập nhật tài liệu trong bộ sưu tập mongoDB.
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { db.collection('Employee').updateOne({ "EmployeeName": "NewEmployee" }, { $set: { "EmployeeName": "Mohan" } }); });
Code Giải thích:
- Ở đây chúng tôi đang sử dụng phương pháp “updateOne” từ MongoDB thư viện, được sử dụng để cập nhật tài liệu trong bộ sưu tập mongoDB.
- Chúng tôi đang chỉ định tiêu chí tìm kiếm tài liệu nào cần được cập nhật. Trong trường hợp của chúng tôi, chúng tôi muốn tìm tài liệu có Tên nhân viên là “NewEmployee”.
- Sau đó, chúng tôi muốn đặt giá trị của Tên nhân viên của tài liệu từ “NewEmployee” thành “Mohan”.
Nếu bây giờ bạn kiểm tra nội dung của MongoDB cơ sở dữ liệu, bạn sẽ tìm thấy bản ghi có ID nhân viên là 4 và Tên nhân viên của “Mohan” được cập nhật trong bộ sưu tập Nhân viên.
Để kiểm tra xem dữ liệu đã được cập nhật đúng cách trong cơ sở dữ liệu hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB
- Sử dụng cơ sở dữ liệu nhân viên
- db.Employee.find({Employeeid :4 })
Câu lệnh đầu tiên đảm bảo rằng bạn được kết nối với cơ sở dữ liệu StaffDb. Câu lệnh thứ hai tìm kiếm bản ghi có id nhân viên là 4.
- Xóa tài liệu trong bộ sưu tập – Tài liệu có thể bị xóa trong bộ sưu tập bằng phương pháp “deleteOne” được cung cấp bởi MongoDB thư viện. Đoạn mã bên dưới cho thấy cách xóa một tài liệu trong bộ sưu tập mongoDB.
var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; MongoClient.connect(url, function(err, db) { db.collection('Employee').deleteOne( { "EmployeeName": "Mohan" } ); });
Code Giải thích:
- Ở đây chúng ta đang sử dụng phương thức “deleteOne” từ MongoDB thư viện, được sử dụng để xóa một tài liệu trong bộ sưu tập mongoDB.
- Chúng tôi đang chỉ định tiêu chí tìm kiếm tài liệu nào cần xóa. Trong trường hợp của chúng tôi, chúng tôi muốn tìm tài liệu có Tên nhân viên là “Mohan” và xóa tài liệu này.
Nếu bây giờ bạn kiểm tra nội dung của MongoDB cơ sở dữ liệu, bạn sẽ tìm thấy bản ghi có Mã nhân viên là 4 và Tên nhân viên của “Mohan” đã bị xóa khỏi bộ sưu tập Nhân viên.
Để kiểm tra xem dữ liệu đã được cập nhật đúng cách trong cơ sở dữ liệu hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB
- Sử dụng cơ sở dữ liệu nhân viên
- db.Employee.find()
Câu lệnh đầu tiên đảm bảo rằng bạn được kết nối với cơ sở dữ liệu StaffDb. Câu lệnh thứ hai tìm kiếm và hiển thị tất cả các bản ghi trong bộ sưu tập nhân viên. Tại đây bạn có thể xem bản ghi đã bị xóa hay chưa.
Async/Await hiện đại MongoDB Các kết nối trong Node.js
MongoClient.connect(url, callback) Mẫu được sử dụng xuyên suốt bài viết này phù hợp với... MongoDB Phiên bản trình điều khiển Node.js được sử dụng tại thời điểm các ví dụ trên được viết. Các bản phát hành trình điều khiển gần đây vẫn hỗ trợ kiểu gọi lại đó, nhưng hầu hết các dự án mới hiện nay đều ưa chuộng promises và async/await hơn, vì mã kết quả dễ đọc từ trên xuống dưới mà không có các hàm gọi lại lồng nhau. Các bước dưới đây viết lại kết nối Employee tương tự bằng cú pháp hiện đại.
- Tạo một thể hiện MongoClient duy nhất bên ngoài bất kỳ hàm nào, chỉ truyền chuỗi kết nối một lần, ví dụ: const client = new MongoClient(url);
- Gọi số chờ client.connect() Sử dụng hàm bất đồng bộ để mở kết nối thay vì truyền vào một hàm gọi lại.
- Lấy cơ sở dữ liệu với client.db('EmployeeDB') thay vì dựa vào đối tượng được trả về bên trong hàm callback.
- Chạy các truy vấn với chờ đợi, Ví dụ await db.collection('Employee').find().toArray(), phương thức này trả về trực tiếp một mảng thay vì yêu cầu gọi lại con trỏ.
- Đóng kết nối với chờ client.close() Đặt nó bên trong khối finally để nó luôn được thực thi, ngay cả khi truy vấn báo lỗi.
const { MongoClient } = require('mongodb'); const url = 'mongodb://localhost:27017'; const client = new MongoClient(url); async function run() { try { await client.connect(); const db = client.db('EmployeeDB'); const employees = await db.collection('Employee').find().toArray(); console.log(employees); } finally { await client.close(); } } run().catch(console.error);
Cả hai phương pháp đều kết nối đến cùng một cơ sở dữ liệu EmployeeDB và cùng một tập hợp Employee, do đó mã dựa trên hàm gọi lại hiện có không cần phải viết lại ngay lập tức. Hai cách tiếp cận này có thể cùng tồn tại trong quá trình chuyển đổi dự án dần dần, và sự lựa chọn chủ yếu phụ thuộc vào yếu tố nào. MongoDB Phiên bản trình điều khiển Node.js đã được ghim trong tệp package.json.
Cách xây dựng ứng dụng node express với MongoDB để lưu trữ và phục vụ nội dung
Sau khi đã đề cập đến cả hai kiểu kết nối, phần tiếp theo sẽ áp dụng mô hình gọi lại cổ điển bên trong một ứng dụng Express hoàn chỉnh, vì đó là cú pháp mà máy chủ ví dụ ban đầu bên dưới sử dụng. Xây dựng một ứng dụng kết hợp cả Express và... MongoDB là khá phổ biến hiện nay.
Khi làm việc với JavaScript Trong các ứng dụng web, người ta thường nghe đến thuật ngữ MEAN stack.
- Thuật ngữ ngăn xếp MEAN đề cập đến một tập hợp các JavaCông nghệ dựa trên tập lệnh được sử dụng để phát triển các ứng dụng web.
- MEAN là viết tắt của MongoDB, ExpressJS, AngularJSvà Node.js.
Do đó, việc hiểu cách Node.js và MongoDB làm việc cùng nhau để cung cấp các ứng dụng tương tác với cơ sở dữ liệu phụ trợ.
Hãy xem một ví dụ đơn giản về cách chúng ta có thể sử dụng “express” và “MongoDB" cùng nhau. Ví dụ của chúng tôi sẽ sử dụng cùng một bộ sưu tập Nhân viên trong MongoDB Cơ sở dữ liệu DB nhân viên.
Chúng tôi sẽ tích hợp Express để hiển thị dữ liệu trên trang web khi người dùng yêu cầu. Khi ứng dụng của chúng tôi chạy trên Node.js, người dùng có thể cần truy cập vào... URL http://localhost:3000/Employeeid.
Khi trang được khởi chạy, tất cả id nhân viên trong bộ sưu tập Nhân viên sẽ được hiển thị. Vì vậy, hãy xem đoạn mã trong các phần sẽ cho phép chúng ta đạt được điều này.
Bước 1) Xác định tất cả các thư viện cần được sử dụng trong ứng dụng của chúng tôi, trong trường hợp của chúng tôi là cả hai MongoDB và thư viện tốc hành.
Code Giải thích:
- Chúng tôi đang xác định thư viện 'express' sẽ được sử dụng trong ứng dụng của chúng tôi.
- Chúng tôi đang xác định 'MongoDB' thư viện sẽ được sử dụng trong ứng dụng của chúng tôi để kết nối với MongoDB cơ sở dữ liệu.
- Ở đây chúng ta đang định nghĩa URL để kết nối với cơ sở dữ liệu của chúng tôi.
- Cuối cùng, chúng ta định nghĩa một chuỗi sẽ được sử dụng để lưu trữ bộ sưu tập ID nhân viên cần hiển thị trên trình duyệt sau này.
Bước 2) Trong bước này, chúng ta sẽ lấy tất cả các bản ghi trong bộ sưu tập 'Nhân viên' của mình và làm việc với chúng cho phù hợp.
Code Giải thích:
- Chúng tôi đang tạo một tuyến đường đến ứng dụng của mình có tên là 'Employeeid'. Vì vậy bất cứ khi nào có ai duyệt đến http://localhost:3000/Employeeid của ứng dụng của chúng tôi, đoạn mã được xác định cho tuyến đường này sẽ được thực thi.
- Ở đây, chúng ta đang lấy tất cả các bản ghi trong bộ sưu tập 'Employee' thông qua lệnh db.collection('Employee').find(). Sau đó chúng tôi sẽ gán bộ sưu tập này cho một biến có tên là con trỏ. Sử dụng biến con trỏ này, chúng ta sẽ có thể duyệt qua tất cả các bản ghi của bộ sưu tập.
- Chúng tôi hiện đang sử dụng hàmcursor.each() để điều hướng qua tất cả các bản ghi trong bộ sưu tập của mình. Đối với mỗi bản ghi, chúng tôi sẽ xác định một đoạn mã về những việc cần làm khi mỗi bản ghi được truy cập.
- Cuối cùng, chúng ta thấy rằng nếu bản ghi trả về không rỗng thì chúng ta sẽ lấy nhân viên thông qua lệnh “item.Employeeid”. Phần còn lại của mã chỉ là xây dựng một mã HTML thích hợp cho phép kết quả của chúng tôi được hiển thị chính xác trên trình duyệt.
Bước 3) Trong bước này, chúng tôi sẽ gửi đầu ra của mình tới trang web và làm cho ứng dụng của chúng tôi lắng nghe trên một cổng cụ thể.
Code Giải thích:
- Ở đây chúng tôi đang gửi toàn bộ nội dung đã được xây dựng ở bước trước đó tới trang web của chúng tôi. Tham số 'res' cho phép chúng tôi gửi nội dung đến trang web của mình dưới dạng phản hồi.
- Chúng tôi đang làm cho toàn bộ ứng dụng Node.js của mình hoạt động trên cổng 3000.
Đầu ra:
Từ đầu ra,
- Nó cho thấy rõ ràng rằng tất cả các mã nhân viên trong bộ sưu tập Nhân viên đã được truy xuất. Điều này là do chúng tôi sử dụng MongoDB trình điều khiển để kết nối với cơ sở dữ liệu và truy xuất tất cả các bản ghi Nhân viên, sau đó sử dụng “express” để hiển thị các bản ghi.
Đây là mã để bạn tham khảo
var express = require('express'); var app = express(); var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; var str = ""; app.route('/Employeeid').get(function(req, res) { MongoClient.connect(url, function(err, db) { var cursor = db.collection('Employee').find(); //noinspection JSDeprecatedSymbols cursor.each(function(err, item) { if (item != null) { str = str + " Employee id " + item.Employeeid + "</br>"; } }); res.send(str); db.close(); }); }); var server = app.listen(3000, function() {});
Lưu ý: con trỏ.each có thể không được dùng nữa dựa trên phiên bản của bạn MongoDB tài xế. Bạn có thể thêm //noinspection JSDeprecatedSymbols trước con trỏ.each để tránh sự cố. Ngoài ra, bạn có thể sử dụng forEach. Dưới đây là mã mẫu sử dụng forEach
var express = require('express'); var app = express(); var MongoClient = require('mongodb').MongoClient; var url = 'mongodb://localhost/EmployeeDB'; var str = ""; app.route('/Employeeid').get(function(req, res) { MongoClient.connect(url, function(err, db) { var collection = db.collection('Employee'); var cursor = collection.find({}); str = ""; cursor.forEach(function(item) { if (item != null) { str = str + " Employee id " + item.Employeeid + "</br>"; } }, function(err) { res.send(err); db.close(); } ); }); }); var server = app.listen(8080, function() {});












