6、修改index.js,因为想在这里注册时候把数据存入到数据库中,所以这里需要引用上面第四步创建的model。具体代码如下所示。
var User = require('../models/user'); /* * GET home page. */ exports.index = function(req, res){ User.find({}, function (err,users) { res.render('index', { title: 'Express',users:users }); }); }; exports.reg=function(req,res){ res.render('reg',{title:'Register Page'}); }; exports.doReg=function(req,res){ var user = new User(req.body.user); user.save(function (err, user) { if(!err) { console.log(user); res.redirect('/') } }); console.log(req.body.user); }; |
这一步要注意为什么是req.body.user,这里就是前面写页面直接用user[]这种形式带来的好处,如果单独写name="username",那么这里就应该是下面这种形式。
var user = new User({
name:req.body['username'],
password:req.body['password']
});
user.save就是把刚才数据提交到数据库,具体使用方法参看官方文档。save成功之后执行什么操作就自己发挥吧。保存之前也可以进行一些简单的表单验证等等。
7、通过登录来讲如何从数据库取出数据,继续修改index.js,如下所示。
var User = require('../models/user'); /* * GET home page. */ exports.index = function(req, res){ User.find({}, function (err,users) { res.render('index', { title: 'Express',users:users }); }); }; exports.login=function(req,res){ res.render('log',{title:'Login Page'}); } ; exports.doLogin=function(req,res){ var user = req.body.user; User.find(user,function(err,docs){ if(!err){ if(docs!=''){ console.log(docs); return res.redirect('/'); } else{ console.log('用户名或密码不正确'); return res.redirect('/log'); } }else{ console.log("Something happend."); } }) }; exports.reg=function(req,res){ res.render('reg',{title:'Register Page'}); }; exports.doReg=function(req,res){ var user = new User(req.body.user); user.save(function (err, user) { if(!err) { console.log(user); res.redirect('/') } }); console.log(req.body.user); }; |
这里通过find()方法来查询数据库,使用方法不解释了。第一个参数user就是要查询的数据,从输入框获取过来的,如果不是用user[]这种形式定义的name属性,那么这里一样的用{naem:req.body['username'],password:req.body['password']}这样的写法。回调函数docs就是从数据库查询返回的结果。
例子到此结束。