Node.js操作mongodb数据库

发表于:2014-12-25 09:55

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:第2015换个昵称    来源:51Testing软件测试网采编

分享:
  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就是从数据库查询返回的结果。
  例子到此结束。
33/3<123
春暖花开更文季,点击参与还有惊喜礼品~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计

法律顾问:上海漕溪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2023
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号