Вставка данных из nodejs в mongodb
const express = require("экспресс");
const handlebars = require("экспресс-рули");
const mongoose = require("Мангуст");
const bodyParser = require("body-parser");
const path = require("путь");
const app = экспресс();
const порт = 3000;
приложение.использовать(bodyParser.в JSON());
приложение.использовать(bodyParser.в кодировке url({ расширенный: правда }));
app.engine(".hbs", handlebars({ defaultLayout: "main", extname: ".hbs" }));
приложение.установить("вид" двигатель, ".ОБД");
приложение.использовать(экспресс.статические(путь.присоединиться(__каталог "общественные")));
приложение.использовать(экспресс.в кодировке url({ расширенный: накладные }));
приложение.использовать(экспресс.в JSON());
мангуста.Обещание = глобальное.Обещать;
мангуста.подключить(
"mongodb://usresa:passcode@mongodb-rukshi-shard-00-00.nerbj.gcp.mongodb.net:27017,mongodb-rukshi-shard-00-01.nerbj.gcp.mongodb.net:27017,mongodb-rukshi-shard-00-02.nerbj.gcp.mongodb.net:27017/db_name?ssl=true&replicaSet=atlas-dxrzem-shard-0&authSource=admin&retryWrites=true&w=majority",
{ useNewUrlParser: true, useUnifiedTopology: true }
);
const nameSchema = новый Мангуст.Схема({
имя: строка,
naquantityme: строка,
строка описания,
});
пользователь const и = "Мангуст".модель("пользователь", nameSchema);
// app.get("/", (req, res) => {
// res.sendFile(__dirname + "/AddProduct");
// });
app.get("/", (req, res) => {
res.render("login", { layout: "loginlayout" });
});
app.get("/home", (req, res) => {
РЭС.визуализация("панель управления", { макет: "главный" });
});
app.use("/AddProduct", (req, res) => {
res.render("AddProduct", { layout: "main" });
});
app.post("/addproductform", (req, res) => {
var myData = новый пользователь(req.body);
файл mydata
.сохранить()
.тогда((элемент) =&ГТ; {
res.send("продукт сохранен в базе данных");
})
.catch((err) => {
res.status(400).send("невозможно сохранить в базе данных");
});
});
app.listen(port, () => {
console.log("сервер прослушивает порт" + Порт);
});
Что я уже пробовал:
Попытался повторно локализовать страницы hbs из представлений в папку внешнего вида в проекте, но это не работает.