Cách gửi dữ liệu từ mongodb đến nodejs?

Trong hướng dẫn này, chúng tôi sẽ tạo một biểu mẫu đơn giản sẽ lưu dữ liệu người dùng vào máy chủ được triển khai trong Node. js với cơ sở dữ liệu MongoDB và cho phép chúng tôi xem dữ liệu đã lưu trên một trang riêng ở định dạng JSON

điều kiện tiên quyết

1. Cài đặt MongoDB

Cách cài đặt và cấu hình MongoDB phụ thuộc vào môi trường của bạn. Chúng tôi sử dụng Cloud9 cho hướng dẫn này, vì vậy sẽ tham khảo hướng dẫn trên trang web chính thức

Trong dòng lệnh bash, chúng tôi sẽ đưa ra các lệnh sau

sudo apt-get install -y mongodb-org
mkdir data
echo 'mongod --bind_ip=$IP --dbpath=data --nojournal --rest "$@"' > mongod
chmod a+x mongod
./mongod

2. Cài đặt các gói cần thiết

Chúng tôi sẽ sử dụng Nút. js với các gói sau

  • Express - khung web phổ biến;
  • body-parser - phần mềm trung gian phân tích cú pháp cơ thể, cho phép truy cập thuộc tính req.body;
  • mongodb - Trình điều khiển MongoDB cho Nút. js

Trong dòng lệnh, chúng tôi sẽ sử dụng các lệnh sau

npm init -y
npm i --save express body-parser mongodb

Tạo biểu mẫu

Chúng tôi sẽ tạo tệp có tên index.html trong thư mục public

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Client Data</title>
</head>
<body>
    <h1>Please fill data in the form below:</h1>
    <form method="POST" action="/post-feedback">
        <label>Name:<input type="text" name="client-name" required></label>
        <br>
        <label>Email:<input type="text" name="client-email" required></label>
        <br>
        <label>Comment:<br><textarea name="comment"></textarea></label>
        <br>
        <input type="submit" value="Submit">
    </form>
    <a href="/view-feedbacks">View feedbacks</a>
</body>
</html>

Tạo mã npm init -y npm i --save express body-parser mongodb0

1. Tạo mã ban đầu để phục vụ nội dung tĩnh

var express = require('express');
var path = require('path');

var app = express();

app.use(express.static(path.resolve(__dirname, 'public')));

app.listen(process.env.PORT || 3000, process.env.IP || '0.0.0.0' );

2. Thêm kết nối vào cơ sở dữ liệu

Chúng tôi sẽ sửa đổi mã trước đó và thêm kết nối vào cơ sở dữ liệu

var express = require('express');
var path = require('path');
var mongodb = require('mongodb');

var dbConn = mongodb.MongoClient.connect('mongodb://localhost:27017');

var app = express();

app.use(express.static(path.resolve(__dirname, 'public')));

app.listen(process.env.PORT || 3000, process.env.IP || '0.0.0.0' );

3. Thêm trình xử lý cho bài đăng biểu mẫu

var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var mongodb = require('mongodb');

var dbConn = mongodb.MongoClient.connect('mongodb://localhost:27017');

var app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.resolve(__dirname, 'public')));

app.post('/post-feedback', function (req, res) {
    dbConn.then(function(db) {
        delete req.body._id; // for safety reasons
        db.collection('feedbacks').insertOne(req.body);
    });    
    res.send('Data received:\n' + JSON.stringify(req.body));
});

app.listen(process.env.PORT || 3000, process.env.IP || '0.0.0.0' );

4. Thêm trình xử lý để xem dữ liệu

Mã cuối cùng của chúng tôi sẽ trông như thế này

var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var mongodb = require('mongodb');

var dbConn = mongodb.MongoClient.connect('mongodb://localhost:27017');

var app = express();

app.use(bodyParser.urlencoded({ extended: false }));
app.use(express.static(path.resolve(__dirname, 'public')));

app.post('/post-feedback', function (req, res) {
    dbConn.then(function(db) {
        delete req.body._id; // for safety reasons
        db.collection('feedbacks').insertOne(req.body);
    });    
    res.send('Data received:\n' + JSON.stringify(req.body));
});

app.get('/view-feedbacks',  function(req, res) {
    dbConn.then(function(db) {
        db.collection('feedbacks').find({}).toArray().then(function(feedbacks) {
            res.status(200).json(feedbacks);
        });
    });
});

app.listen(process.env.PORT || 3000, process.env.IP || '0.0.0.0' );

Từ cuối cùng

Hướng dẫn này được tạo dưới dạng bản demo tối thiểu có thể để hiển thị khái niệm gửi biểu mẫu đến máy chủ và lưu nó vào MongoDB. Nó không dành cho sử dụng sản xuất vì nó không xử lý lỗi và chưa triển khai bảo mật

Làm cách nào để lấy dữ liệu từ MongoDB trong Nodejs?

Để chọn dữ liệu từ một bộ sưu tập trong MongoDB, chúng ta có thể sử dụng phương thức findOne() . Phương thức findOne() trả về lần xuất hiện đầu tiên trong vùng chọn. Tham số đầu tiên của phương thức findOne() là một đối tượng truy vấn.

Làm cách nào để thêm dữ liệu vào nút JS MongoDB?

Mở command terminal và chạy lệnh sau. chèn nút. js. .
var MongoClient = yêu cầu('mongodb'). .
MongoClient. .
nếu (err) ném err;
var myobj = { tên. "Ajeet Kumar", tuổi. "28", địa chỉ. "Đê-li" };

Làm cách nào để gửi dữ liệu biểu mẫu tới MongoDB bằng Node js?

Bước 1 – Tạo ứng dụng Node Express js. .
Bước 2 – Cài đặt mô-đun 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 biểu mẫu đánh dấu HTML. .
Bước 7 – Nhập mô-đun trong ứng dụng. js. .
Bước 8 – Khởi động máy chủ ứng dụng

Làm cách nào để cập nhật dữ liệu trong MongoDB bằng Nodejs?

Bạn có thể cập nhật một bản ghi hoặc tài liệu như nó được gọi trong MongoDB, bằng cách sử dụng phương thức updateOne() . Tham số đầu tiên của phương thức updateOne() là một đối tượng truy vấn xác định tài liệu nào sẽ cập nhật. Ghi chú. Nếu truy vấn tìm thấy nhiều bản ghi, thì chỉ bản ghi đầu tiên được cập nhật.