nodejs使用mongoose连接数据库,使用post提交表单在后台,后台处理后调用res.redirect()跳转界面无效?这是为什么呢,
情况:我想要在项目中连接多个mongodb数据库,所以就想使用mongoose.createConnection方法来连接数据库,就遇到了以上的问题。
原来的情况:我是使用mongoose.connect('mongodb://localhost/myapp');来连接数据库的,具体如下:(这里是登陆的方法后台代码)
var mongoose = require('mongoose');
var User = mongoose.model('User');
mongoose.connect('mongodb://localhost/myapp');
exports.login = function(req, res){
User.findOne({ username: req.body.username }).exec(function(err, user) {
if (!user){
err = 'User Not Found.';
} else if (user.password.toString() ===
hashPW(req.body.password.toString())) {
console.log('user:' + user)
console.log('id:' + user.id)
req.session.user = user.id;
res.redirect('/');
}
});
}
上面的情况是正常的,可以查询到数据库密码进行匹配,并成功跳转。
现在的情况:使用的是mongoose.createConnection('mongodb://localhost/myapp');连接数据库,就出现问题了,具体代码如下:
var mongoose = require('mongoose');
var pdb = mongoose.createConnection('mongodb://localhost/myapp');
var User = pdb.model('User');
User.findOne({ username: req.body.username }).exec(function(err, user) {
if (!user){
err = 'User Not Found.';
} else if (user.password.toString() ===
hashPW(req.body.password.toString())) {
console.log('user:' + user)
console.log('id:' + user.id)
req.session.user = user.id;
res.redirect('/');
pdb.close();
}
});
上面就是我要问的情况,在这里我也可以查到具体的用户,用户密码验证也是可以的,但是为什么res.redirect('/');就是无反应呢,不跳转。
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…