Rakshanda_khan Ответов: 1

Вставка данных из 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 из представлений в папку внешнего вида в проекте, но это не работает.

1 Ответов

Рейтинг:
2

Sandeep Mewara

Пример вставки:

var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/";

MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("mydb");
  var myobj = { name: "Company Inc", address: "Highway 37" };
  dbo.collection("customers").insertOne(myobj, function(err, res) {
    if (err) throw err;
    console.log("1 document inserted");
    db.close();
  });
});

Существует хорошая документация по подключению MongoDB с помощью NodeJS, вы ее видели:
Подключение к базе данных MongoDB с помощью Node.js | блог MongoDB[^]
Node.js MongoDB Начало Работы[^]
https://docs.mongodb.com/drivers/node/[^]


Rakshanda_khan

Это прямая связь с монго. Как насчет кнопки "Отправить представление"? На Кнопку Нажмите.
как показано в приведенном выше коде "/addproductform"

Sandeep Mewara

https://bl.ocks.org/aerrity/fd393e5511106420fba0c9602cc05d35