Я сейчас пытаюсь выучить mongoDB, я делаю это впервые, и я застрял.
В моем файле индекса. js, где находятся все мои конфигурации NodeJs. Я успешно установил соединение с БД, но не могу вставить данные пользовательских входных данных из HTML.
Вот индекс. Файл js:
const path = require("path");
const MongoClient = require("mongodb").MongoClient;
const bodyParser = require("body-parser");
const express = require("express");
const app = express();
app.use(bodyParser.json());
app.use(
bodyParser.urlencoded({
extended: true
})
);
const port = 8080;
const uri =
"mongodb+srv://mongodbURI";
const client = new MongoClient(uri, { useNewUrlParser: true });
app.get("/", (req, res) => {
res.sendFile(path.join(__dirname, "index.html"));
});
app.post("/new", (req, res) => {
let myObj = [
{
name: req.body.usrName,
email: req.body.usrMail,
age: req.body.usrAge,
password: req.body.usrPassword
}
];
client.connect(err => {
const collection = client.db("GetForm").collection("UserData");
collection.insertOne(myObj, function(err, r) {
console.log("Added a user");
res.redirect("/");
});
client.close();
});
});
app.listen(port, () => {
console.log(`Server Runing On Port ${port}`);
});
А вот и мой индекс. html Форма:
<form
action="/new"
method="POST"
enctype="application/x-www-form-urlencoded"
>
<label for="usrName">Name: </label>
<input type="text" name="usrName" id="usrName" />
<label for="usrMail">Email: </label>
<input type="email" name="usrMail" id="usrMail" />
<label for="usrAge">Age: </label>
<input type="number" name="usrAge" id="usrAge" />
<label for="usrPassword">Password: </label>
<input type="password" name="usrPassword" id="usrPassword" />
<button type="submit">Add</button>
</form>
Буду рад, если кто-нибудь сможет мне помочь!