в mongodb, когда отправленные коллекции форм пусты. не получая в него никаких данных

#node.js #mongodb #express #mongoose

Вопрос:

в mongodb при отправке формы я получаю пустые коллекции, не получая в них никаких данных. согласно моему запросу post, я не получаю ни сохраненный элемент, ни какую-либо ошибку, только пустую после нажатия кнопки отправки. только база данных ContactDance с пустыми коллекциями создается по имени контактов (имя коллекции).мой код прямо здесь.

 const fs=require("fs");

const express=require("express");

const path=require("path");

const app=express();

app.use(express.json());

const mongoose = require("mongoose");
const bodyparser=require("body-parser");


mongoose.connect("mongodb://localhost:27017/ContactDance", {useNewUrlParser: true,useUnifiedTopology: true});

const port=80;

const ContactSchema = new mongoose.Schema({
  name: String,
  email:String,
  number:String,
  address:String,
  city:String,

});
const Contact = mongoose.model("Contact", ContactSchema);

app.use("/static",express.static("static"));
app.use(express.urlencoded());

app.set("view engine","pug");
app.set("views", path.join(__dirname,"views"));



app.get("/",(req,res)=>{
  res.status(200).render("home.pug");
})
app.get("/contact",(req,res)=>{
  const params={ }
  res.status(200).render("contact.pug",params);
})




app.post("/contact",(req,res)=>{
  var myData=new Contact(req.body);
  myData.save().then(()=>{
    res.send("this item has been saved");
  }).catch(()=>{
    res.status(400).send("item is not saved");
  })
  
})

 

app.listen(port,()=>{
    console.log(`server is running on ${port}`)
});
``
 

Комментарии:

1. Вы уверены body-parser , что правильно использовали (см. Экспресс-анализатор тела .