Lấy dữ liệu từ mongodb bằng express js

Hầu hết tất cả các ứng dụng web hiện đại đều có một số loại hệ thống lưu trữ dữ liệu ở phần phụ trợ. Ví dụ: nếu bạn lấy trường hợp của ứng dụng mua sắm trên web, 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 Node js có thể hoạt động với cơ sở dữ liệu có cả cơ sở dữ liệu quan hệ (chẳng hạn như Oracle và MS SQL Server) và cơ sở dữ liệu không 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

Trong hướng dẫn này, bạn sẽ học-

Nút. js và cơ sở dữ liệu NoSQL

Trong những năm qua, cơ sở dữ liệu NoSQL như MongoDB và MySQL đã trở nên khá phổ biến dưới dạng cơ sở dữ liệu để lưu trữ dữ liệu. Khả năng lưu trữ bất kỳ loại nội dung nào và đặc biệt là ở bất kỳ loại định dạng nào của các cơ sở dữ liệu này là điều làm cho các cơ sở dữ liệu này trở nên nổi tiếng

Nút. js có khả năng làm việc với cả MySQL và MongoDB dưới dạng 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

Đối với MySQL, mô-đun bắt buộc được gọi là “mysql” và để sử dụng MongoDB, mô-đun bắt buộc phải cài đặt là “Mongoose. ”

Với các mô-đun này, bạn có thể thực hiện các thao tác sau trong Node. js

  1. Quản lý tổng hợp kết nối – Đây là nơi bạn có thể chỉ định số lượng kết nối cơ sở dữ liệu MySQL sẽ được duy trì và lưu bởi Node. js
  2. 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 các phương thức kết nối “tạo” và “đóng” được thực thi
  3. 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
  4. 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ể đạt được với các mô-đun này

Đối với các chủ đề còn lại, chúng tôi sẽ xem xét cách chúng tôi có thể làm việc với cơ sở dữ liệu MongoDB trong Node. js

Sử dụng MongoDB và Nút. js

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ẽ thấy

Cách chúng tôi có thể thiết lập kết nối với cơ sở dữ liệu MongoDB

Cách chúng tôi có thể thực hiện các thao tác đọc dữ liệu thông thường từ cơ sở dữ liệu cũng như chèn, xóa và cập nhật bản ghi trong cơ sở dữ liệu MongoDB

Với mục đích của chương này, giả sử rằng chúng ta có sẵn dữ liệu MongoDB bên dưới

Tên cơ sở dữ liệu. nhân viênDB

Tên bộ sưu tập. Người lao động

Documents
{
	{Employeeid : 1, Employee Name : Guru99},
	{Employeeid : 2, Employee Name : Joe},
	{Employeeid : 3, Employee Name : Martin},
}
  1. Cài đặt các mô-đun NPM

Bạn cần một trình điều khiển để truy cập Mongo từ bên trong ứng dụng Node. Có một số trình điều khiển Mongo có sẵn, nhưng MongoDB là một trong những trình điều khiển phổ biến nhất. Để cài đặt mô-đun MongoDB, hãy chạy lệnh bên dưới

npm cài đặt mongodb

  1. Tạo và đóng kết nối tới cơ sở dữ liệu MongoDB. Đoạn mã dưới đây cho biết cách tạo và đóng kết nối với cơ sở dữ liệu MongoDB

Lấy dữ liệu từ mongodb bằng express js

Giải thích mã

  1. Bước đầu tiên là bao gồm mô-đun cầy mangut, được thực hiện thông qua chức năng yêu cầu. Sau khi đã có mô-đun này, chúng ta có thể sử dụng các chức năng cần thiết có sẵn trong mô-đun này để tạo kết nối đến cơ sở dữ liệu
  2. 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ị chính được truyền
  • Đầu tiên là 'mongodb' chỉ định rằng chúng tôi đang kết nối với cơ sở dữ liệu mongoDB
  • Tiếp theo là 'localhost' có nghĩa là chúng tôi đ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 cơ sở dữ liệu MongoDB của chúng tôi
  1. Bước tiếp theo là thực sự kết nối với cơ sở dữ liệu của chúng tôi. Chức năng kết nối lấy URL của chúng tôi và có cơ sở để chỉ định chức năng gọi lại. Nó sẽ được gọi khi kết nối được mở với cơ sở dữ liệu. Điều này cho chúng tôi cơ hội để biết liệu kết nối cơ sở dữ liệu có thành công hay không
  2. Trong chức năng này, chúng tôi đang viết chuỗi “Kết nối được thiết lập” 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
  3. Cuối cùng, chúng tôi đang đóng kết nối bằng db. tuyên bố đóng

Nếu đoạn mã trên được thực thi đúng cách, chuỗi “Connected” sẽ được ghi vào giao diện điều khiển như hình bên dưới

Lấy dữ liệu từ mongodb bằng express js

  1. Truy vấn dữ liệu trong cơ sở dữ liệu MongoDB – Sử dụng trình điều khiển MongoDB, chúng tôi cũng có thể tìm nạp dữ liệu từ cơ sở dữ liệu MongoDB. Phần bên dưới sẽ chỉ ra cách chúng ta có thể sử dụng trình điều khiển để tìm nạp tất cả tài liệu từ bộ sưu tập Nhân viên trong cơ sở dữ liệu EmployeeDB của mình. Đây là bộ sưu tập trong cơ sở dữ liệu MongoDB của chúng tôi, 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.

Lấy dữ liệu từ mongodb bằng express js

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);

    });
});

Giải thích mã

  1. Trong bước đầu tiên, chúng tôi đang 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 tìm nạp 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 tôi đang xác định một tên biến được gọi là con trỏ sẽ được sử dụng để lưu trữ con trỏ tới các bản ghi được tìm nạp từ cơ sở dữ liệu. ) trỏ đến các bản ghi được tìm nạp từ bộ sưu tập MongoDb. Chúng tôi cũng có cơ sở chỉ định bộ sưu tập 'Nhân viên' để tìm nạp các bản ghi. Hàm find() được sử dụng để chỉ định rằng chúng tôi muốn truy xuất tất cả các tài liệu từ bộ sưu tập MongoDB
  2. Bây giờ chúng tôi đang lặp qua con trỏ của mình và đối với mỗi tài liệu trong con trỏ, chúng tôi sẽ thực thi một chức năng
  3. 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 ra bàn điều khiển

Ghi chú. – Cũng có thể tìm nạp 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 tìm nạp bản ghi có tên nhân viên là Guru99, thì câu lệnh 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, đầu ra sau sẽ được hiển thị trong bảng điều khiển của bạn

đầu ra

Lấy dữ liệu từ mongodb bằng express js

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 được lấy ra. Đ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ỏ
  1. Chèn tài liệu vào bộ sưu tập – Có thể chèn tài liệu vào bộ sưu tập bằng phương thức insertOne do thư viện MongoDB cung cấp. Đoạn mã dưới đây cho thấy cách chúng ta có thể chèn tài liệu vào bộ sưu tập mongoDB

Lấy dữ liệu từ mongodb bằng express js

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';

MongoClient.connect(url, function(err, db) {

    db.collection('Employee').insertOne({
        Employeeid: 4,
        EmployeeName: "NewEmployee"
    });
}); 

Giải thích mã

  1. Ở đây chúng tôi đang sử dụng phương thức insertOne từ thư viện MongoDB để chèn tài liệu vào bộ sưu tập Nhân viên
  2. Chúng tôi đang chỉ định chi tiết tài liệu về những gì cần được 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 cơ sở dữ liệu MongoDB của mình, bạn sẽ tìm thấy bản ghi với Employeeid of 4 và EmployeeName của “NewEmployee” được chèn vào bộ sưu tập Employee

Ghi chú. 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 hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB

  1. Sử dụng EmployeeDB
  2. db. Người lao động. tìm({Nhân viên. 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 EmployeeDb. Câu lệnh thứ hai tìm kiếm bản ghi có id nhân viên là 4

  1. Cập nhật tài liệu trong bộ sưu tập – Có thể cập nhật tài liệu trong bộ sưu tập bằng phương thức updateOne do thư viện MongoDB cung cấp. Đoạn mã dưới đây cho biết cách cập nhật tài liệu trong bộ sưu tập mongoDB

Lấy dữ liệu từ mongodb bằng express js

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"
        }
    });
}); 

Giải thích mã

  1. Ở đây chúng tôi đang sử dụng phương thức “updateOne” từ thư viện MongoDB, được sử dụng để cập nhật tài liệu trong bộ sưu tập mongoDB
  2. Chúng tôi đang chỉ định tiêu chí tìm kiếm của 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. ”
  3. 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 cơ sở dữ liệu MongoDB của mình, 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 là “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 trong cơ sở dữ liệu hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB

  1. Sử dụng EmployeeDB
  2. db. Người lao động. tìm({Nhân viên. 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 EmployeeDb. Câu lệnh thứ hai tìm kiếm bản ghi có id nhân viên là 4

  1. Xóa tài liệu trong bộ sưu tập – Có thể xóa tài liệu trong bộ sưu tập bằng phương thức “deleteOne” do thư viện MongoDB cung cấp. Đoạn mã dưới đây cho biết cách xóa tài liệu trong bộ sưu tập mongoDB

Lấy dữ liệu từ mongodb bằng express js

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost/EmployeeDB';

MongoClient.connect(url, function(err, db) {

    db.collection('Employee').deleteOne(

        {
            "EmployeeName": "Mohan"
        }

    );
}); 

Giải thích mã

  1. Ở đây chúng tôi đang sử dụng phương thức “deleteOne” từ thư viện MongoDB, được sử dụng để xóa một tài liệu trong bộ sưu tập mongoDB
  2. Chúng tôi đang chỉ định tiêu chí tìm kiếm của tài liệu 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 cơ sở dữ liệu MongoDB của mình, bạn sẽ thấy bản ghi có Mã nhân viên là 4 và Tên nhân viên là “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 trong cơ sở dữ liệu hay chưa, bạn cần thực hiện các lệnh sau trong MongoDB

  1. Sử dụng EmployeeDB
  2. db. Người lao động. tìm thấy()

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 EmployeeDb. 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

Cách xây dựng ứng dụng node express với MongoDB để lưu trữ và phân phát nội dung

Xây dựng ứng dụng kết hợp cả express và MongoDB hiện nay khá phổ biến

Khi làm việc với các ứng dụng web dựa trên JavaScript, thông thường người ta sẽ sử dụng thuật ngữ MEAN stack ở đây

  • Thuật ngữ MEAN stack đề cập đến một tập hợp các công nghệ dựa trên JavaScript được sử dụng để phát triển các ứng dụng web
  • MEAN là từ viết tắt của MongoDB, ExpressJS, AngularJS và Node. js

Do đó, thật tốt khi hiểu cách Node. js và MongoDB phối hợp với 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 cơ sở dữ liệu MongoDB EmployeeDB

Bây giờ chúng tôi sẽ kết hợp Express để hiển thị dữ liệu trên trang web của chúng tôi 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 ta có thể cần duyệt đến URL http. //máy chủ cục bộ. 3000/Nhân viên

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 tôi đạ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ả thư viện MongoDB và express

Lấy dữ liệu từ mongodb bằng express js

Giải thích mã

  1. Chúng tôi đang xác định thư viện 'express' của mình, thư viện này sẽ được sử dụng trong ứng dụng của chúng tôi
  2. Chúng tôi đang xác định thư viện 'MongoDB' của mình, thư viện này sẽ được sử dụng trong ứng dụng của chúng tôi để kết nối với cơ sở dữ liệu MongoDB của chúng tôi
  3. Ở đây chúng tôi đang xác định URL của cơ sở dữ liệu của chúng tôi để kết nối với
  4. Cuối cùng, chúng tôi đang xác định một chuỗi sẽ được sử dụng để lưu trữ bộ sưu tập id nhân viên của chúng tôi cần được hiển thị trong trình duyệt sau này

Bước 2) Trong bước này, bây giờ chúng tôi sẽ lấy tất cả các bản ghi trong bộ sưu tập 'Nhân viên' của chúng tôi và làm việc với chúng cho phù hợp

Lấy dữ liệu từ mongodb bằng express js

Giải thích mã

  1. 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 bất cứ ai duyệt đến http. //máy chủ cục bộ. 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
  2. Ở đây, chúng tôi đang nhận tất cả các bản ghi trong bộ sưu tập 'Nhân viên' của mình thông qua db. bộ sưu tập ('Nhân viên'). lệnh tìm (). 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
  3. Chúng tôi hiện đang sử dụng con trỏ. each() để điều hướng qua tất cả các bản ghi trong bộ sưu tập của chúng tôi. Đố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
  4. Cuối cùng, chúng tôi thấy rằng nếu bản ghi được trả về không phải là null, thì chúng tôi sẽ lấy nhân viên thông qua lệnh “item. Mã hiệu công nhân". Phần còn lại của mã chỉ là xây dựng 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 trong 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ể

Lấy dữ liệu từ mongodb bằng express js

Giải thích mã

  1. Ở đâ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
  2. Chúng tôi đang làm cho toàn bộ Node của chúng tôi. ứng dụng js nghe trên cổng 3000

đầu ra

Lấy dữ liệu từ mongodb bằng express js

Từ đầu ra,

  • Nó cho thấy rõ ràng rằng tất cả các employeeid 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 trình điều khiển MongoDB để 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 và 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 + "
"; } }); res.send(str); db.close(); }); }); var server = app.listen(3000, function() {});

Ghi chú. con trỏ. mỗi cái có thể không được dùng nữa dựa trên phiên bản trình điều khiển MongoDB của bạn. Bạn có thể thêm //noinspection JSDeprecatedSymbols trước con trỏ. mỗi người để phá vỡ vấn đề. Ngoài ra, bạn có thể sử dụng forEach. Dưới đây là mã mẫu sử dụng forEach

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

js và thêm việc triển khai chức năng connectToServer từ đoạn mã bên dưới. const { MongoClient } = yêu cầu("mongodb"); . env. ATLAS_URI; . đúng, sử dụngUnifiedTopology. thật, });

Làm cách nào để truy xuất tất cả dữ liệu từ MongoDB bằng nút JS?

Cách lấy dữ liệu từ mongodb trong Node js và hiển thị trong HTML (ejs) .
Bước 1 – Tạo ứng dụng Node Express js
Bước 2 – Cài đặt phụ thuộc cầy mangut flash ejs body-parser
Bước 3 – Kết nối ứng dụng với MongoDB
Bước 4 – Tạo mô hình
Bước 5 – Tạo các tuyến đường
Bước 6 – Tạo Bảng HTML và Danh sách Hiển thị

Làm cách nào để tìm nạp dữ liệu bằng Express JS?

Tệp. get_example1. js .
var express = require('express');
ứng dụng var = express();
ứng dụng. sử dụng (thể hiện. tĩnh ('công khai'));
ứng dụng. get('/index. html', hàm (req, res) {
độ phân giải. sendFile( __dirname + "/" + "index. html" );
ứng dụng. get('/ process_get', function (req, res) {
phản hồi = {