繁体   English   中英

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

[英]How to save form data to local MongoDB with Node.js?

任何人都可以添加脚本以将从 html 表单获取的数据保存到本地 mongoDB.我尝试了 man 方式但总是出错(db 不是 function,客户端未定义等)请帮助我

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

<input type="text" name="username">

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

Rest 由您决定。

 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM