提问者:小点点

如何用node.js将表单数据保存到本地MongoDB?


任何人都可以添加脚本,以保存数据从html表单到一个本地蒙古数据库。我尝试了人的方式,但总是得到错误(数据库不是一个函数,客户端没有定义,等等)请帮助我


共3个答案

匿名用户

您是否有要用数据填充的已定义架构。你能贴些代码吗。

匿名用户

从您的问题来看,要从html表单中获取数据,您可以使用body-parser包或express内置中间件。您可以通过执行req.body从后端的表单访问数据。您必须为每个输入提供一个name属性,如

并使用req.body.name访问它。

休息由你决定。

匿名用户

null

const express=require("express");
const app =express();
const mongoose =require("mongoose")
const bodyParser =require("body-parser")
const route =require("./route")

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(express.static('./htmls')) 

const dbConnection= mongoose.connect(
    "mongodb://localhost:27017/mydb",
   { useNewUrlParser:true,
     useUnifiedTopology: true },
   ()=> {console.log("connected to  DB");})

app.post("/user",(req,res)=>{
    dbConnection.then((db)=>{
         var post={name:req.body.name,
                   surname:req.body.lastname}
        var db=client.db("mydb")
        db.collection("myDataCol").insertOne({post})
        client.close();  });})

module.exports=app
<html>
    <head>
        <title>form</title>
    </head>
    <body> 
        <h2>New User</h2>
        <hr/>

        <form action="/user" method="POST">
        <input type="text" name="name">
        <input type="text" name="lastName">
        <input type="submit">
        </form>

        <hr>

        <form action="/user/delete" method="POST">
             <input type="text" name="name" >
            <input type="text" name="lastName">
            <input type="submit">
        </form>
    </body>
</html>