如何使用节点连接HTML POST和Mongo

我只是用Node,Express和MongoDB制作一个简单的博客应用程序。 我有一个blogPost模式,我可以用Chrome的邮差成功地GET和POST。 现在我只是想创build一个简单的HTML表单,所以我可以创build一个博客post。 但是我不确定如何将它与MongoDB连接起来。 下面是一些代码。

的index.html

<form class="" action="" method="post"> <input type="text"></input> <input type="submit" value="submit"> </form> 

server.js

 var apiRouter = express.Router(); apiRouter.route('/blogPosts') .post(function(req, res) { var blogPost = new BlogPost(); blogPost.postbody = req.body.postbody; blogPost.save(function(err) { if (err) { return res.send(err); } res.json({ message: blogPost.postbody + "created"}) }); }) .get(function(req, res) { BlogPost.find(function(err, posts) { if (err) return res.send(err); res.json(posts); }); }); 

您需要在您的html代码中添加操作:

 <form class="" action="/blogPosts" method="post"> <input type="text" name="postbody"></input> <input type="submit" value="submit"> </form> 

因此,在server.js中,您需要在快速实例中使用bodyParser。

 // Example var app = express(); var bodyparser = require('body-parser'); app.use(bodyparser.urlencoded({extended: true}); ..... // var apiRouter = express.Router(); apiRouter.route('/blogPosts') .post(function(req, res) { var blogPost = new BlogPost(); blogPost.postbody = req.body.postbody; blogPost.save(function(err) { if (err) { return res.send(err); } res.json({ message: blogPost.postbody + "created"}) }); })