首页 > 解决方案 > 我的应用程序中的表单值没有保存在 MongoDb 中

问题描述

作为 Node js 和 MongoDb 的新手,我使用 HTML 创建了一个简单的表单来获取反馈。因此,当我提交表单时,我得到一个输出,表明我的数据已保存,但重要的是我无法看到数据库中的任何数据。下面是完整的代码。

HTML:

<form action="/feedback" method="post">
    Name <input type = "Name" name=value=""> <br><br>
    Roll No <input type = "text" value=""> <br><br>
    Meal <input type = "text" value=""> <br><br>
    Quality <input type = "text" value=""> <br><br>
    Comments <input type = "text" value=""> <br> <br>

    <input type = "submit" value ="submit">
</form>

应用程序.js:

 const express = require('express');
 const bodyParser=require('body-parser')
 const mongoose = require('mongoose');
 mongoose.Promise=global.Promise;
 var app=express();
 app.use(bodyParser.json());
 app.use(bodyParser.urlencoded({extended: true}))
 mongoose.connect('mongodb://localhost:27017/feedback');

 var feebackschema = new mongoose.Schema({
    Name: String,
    Rollno: String,
    Meal: String,
    Quality: String,
    Comments: String
 });

 var feed = mongoose.model('feed',feebackschema);
 module.exports=feed
 app.get("/", function(req,res){
     res.sendFile(__dirname+"/index.html"); 
 })
 app.post("/feedback", function(req,res){
     var mydata=new feed(req.body);

     mydata.save()
     .then(item =>{
        res.send("Data saved");
     })
     .catch(err=>{
        res.send("Data not saved");
     })
 })

 app.listen(4000, function(){
     console.log("Server listening on 4000");
 })

编辑:HTML

<form action="/feedback" method="post">
    Name <input type = "Name" name= "name" value=""> <br><br>
    Roll No <input type = "text" name="rollno" value=""> <br><br>
    Meal <input type = "text" name="Meal" value=""> <br><br>
    Quality <input type = "text" name="quality" value=""> <br><br>
    Comments <input type = "text" name="comments" value=""> <br> <br>

    <input type = "submit" value ="submit">
</form>

标签: node.jsmongodbexpressmongoose

解决方案


推荐阅读