如何在Mongodb(Mongoose)中获取html字段数据?
我想通过发送表单来更新MongoDB中的一些数据。 所以例如我有一个forms:
<form action='/update' method='post'> <input type='text' name='username'> <input type='submit' value='send'> </form>
并有代码:
router.post('/change', function (req, res) { User.findOneAndUpdate({_id: 1}, {$set:{name:"Garry"}}, {new: true}, function(err, doc){ if(err){ console.log("Something wrong when updating data!"); } console.log(doc); } );
如何从我的“用户名”字段插入值,而不是“加里”? 我怎样才能在mongoose声明我的'usernamename'variables?
要获取POST参数,您需要ExpressJS body-parser包。
$ npm install body-parser --save
一旦它被添加到package.json,你必须在你的server.js文件中configuration它。
var bodyParser = require('body-parser'); app.use(bodyParser.json()); // support json encoded bodies app.use(bodyParser.urlencoded({ extended: true })); // support encoded bodies
通过POST方法发送到服务器的表单数据在主体中接收。 因此,您的身体将拥有您需要保存,更新或执行任何操作的所有数据。 您将会收到像这样的req.body.variableName。
router.post('/change', function (req, res) { var username = req.body.username; User.findOneAndUpdate({_id: 1}, {$set:{name:username}}, {new: true}, function(err, doc){ if(err){ console.log("Something wrong when updating data!"); } console.log(doc); } );
- 如何在Express中间件中使用next()内passport.authenticate(…)?
- express和socket.io:将var io传递给路由器
- 将Express生成的app.js文件更改为server.js
- 在web应用程序中将node_modules或bower_components复制到静态/公共目录
- Jade如何处理src属性? 为什么/ javascripts直接进入文件夹而不是/../public/javascripts?
- Jade不再接受没有JavaScript划定的内联variables?
- 任何方式来提供静态html文件,而没有扩展名?
- 如何使用archiver nodejs expressjs在ajax请求中下载Zip文件
- 错误:.post()需要callback函数,但得到