使用 expressJS 将数据插入 MongoDB

Inserting data to MongoDB with expressJS

我正在尝试 post 将一些数据添加到 MongoDB 中的集合中。非常基本。我对 mongo 和 express 以及 运行 都是新手,遇到了一些问题。到目前为止,这是我的代码:

<form action="/post" method="post">

    <label for="first_name">First Name</label>
    <input type="text" id="first_name" name="first_name">

    <button type="submit">Submit</button>
</form>


const express = require('express');
const expressApp = express();

const MongoClient = require('mongodb').MongoClient;

const url = 'mongodb://localhost:27017/agile-app-db';

const dbName = 'agile-app-db';


//Post data
expressApp.post('/post' , function (request, response) {

    let member = {
        first_name: request.body.first_name
    };

    MongoClient.connect(url, function (error, db) {
        if (error) throw error;
        let databaseobject = db.db(dbName);
        databaseobject.collection('Members').insertOne(member, function (error, result) {
            if (error) throw error;
            console.log("Member inserted");
            db.close();
        });
    });

    response.redirect('/agileApp');

});

我 运行 遇到以下错误:TypeError: Cannot read property 'first_name' of undefined

尝试使用 body-parser 中间件

const bodyParser = require('body-parser')

app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

您需要将中间件添加到解析查询字符串的 Express 应用程序。 尝试添加 expressApp.use(express.urlencoded({ extended: false })) 在任何路线之前。