【发布时间】:2014-09-22 05:53:45
【问题描述】:
我正在尝试访问相同的数据库/模型以进行注册和登录功能,但每次我尝试运行我的节点应用程序时都会收到此错误消息“编译后无法覆盖‘用户’模型”这是我的代码:
//sign-up schema
var Schema = new mongoose.Schema({
_id: String,
name: String,
username: String,
password: String,
age: Number
});
var user = mongoose.model('users', Schema);
//sign-up login
app.post('/new', function(req, res) {
new user({
_id: req.body.email,
name: req.body.name,
username: req.body.username,
password: req.body.password,
age: req.body.age
}).save(function(err, doc){
if(err) res.json(err);
else res.send('Successfully Signed up');
});
});
//login schema
var Schema = mongoose.Schema;
var UserDetail = new Schema({
username: String,
password: String
}, {
collection: 'users'
});
var UserDetails = mongoose.model('users', UserDetail);
//login logic
passport.use(new LocalStrategy(function(username, password, done) {
process.nextTick(function() {
UserDetails.findOne({
'username': username,
}, function(err, user) {
if (err) {
return done(err);
}
if (!user) {
return done(null, false);
}
if (user.password != password) {
return done(null, false);
}
return done(null, user);
});
});
}));
【问题讨论】:
-
这有什么意义,因为您可以使用相同的架构查找用户名和密码。
-
对不起,我不知道这一点,你能帮帮我吗,你能给我一个例子吗?谢谢你告诉我:D
标签: node.js express mongoose passport.js