这是我在mongoose中的模型,我必须从中验证用户名和密码
var employee =
{
empCode : { type : String , unique: true , required : true },
firstName : { type : String , required : true },
lastName : { type : String },
email : { type : String },
DOJ :{ type : Date , default: Date.now },
DOB :{ type : Date },
phoneNo : { type : String },
authentication :
{
username : { type : String },
password : { type : String }
},
status : {type:Boolean}
};
我想在登录时使用身份验证检查我正在尝试的是
loginController.prototype.userValidator = function(req , callback){
objDB.selectOne(objMdlEmployee , { authentication.username : req.username , authentication.password : req.password } , function(err , ObjDocument){
if(err){
callback(false , config.msg.SOMTHING_WRONG);
}else if(ObjDocument===null){
callback(false , config.msg.AUTH_FAIL);
}
else {
req.session.sessUser = {
userAuthenticate : true,
firstName : ObjDocument.firstName,
employeeId : ObjDocument.employeeId
}
callback(true , 'Valid');
}
});
};
但它给了我错误
意外的令牌。 在authentication.username
我怎样才能实现这一目标?
答案 0 :(得分:1)
必须引用子字段,如:
objDB.selectOne(objMdlEmployee , { 'authentication.username' : req.username , 'authentication.password' : req.password } , function(err , ObjDocument){