使用 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 }))
在任何路线之前。
我正在尝试 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 }))
在任何路线之前。