我从邮递员发送的数据带有正文,其中包含我的模型需要的所有数据,在我的方法“注册”中,数据存在任何问题的“保存”,但是当我尝试使用“登录”方法数据为空。
这是我的用户模型:
'use strict'
var mongoose = require("mongoose");
var mSchema = mongoose.Schema;
var mUserSchema = mSchema({
name:String,
nickname:String,
email:String,
password:String,
image:String,
role:String
});
module.exports = mongoose.model("Usuario", mUserSchema);
我用邮递员发送了所有这些数据,结果一切正常,数据被保存,我使用了此注册方法:
exports.guardarUsuario = function (req, res){
var mUser = new User();
var mParams = req.body;
console.log(mParams);
mUser.name = mParams.name;
mUser.nickname = mParams.nickname;
mUser.email = mParams.email;
mUser.image = "null";
mUser.role = "ROLE_USER";
if(mParams.password){
mBcrypt.hash(mParams.password, null, null, function(err, hash){
mUser.password = hash;
if(mUser.name != null && mUser.nickname != null && mUser.email != null){
mUser.save((err, userStored) => {
if(!err){
if(!userStored){
res.status(404).send({message:"Este objeto no existe"});
}else{
res.send({user:userStored});
}
}else{
res.status(500).send({message:"No se pudieron guardar los datos"});
}
});
}else{
res.status(200).send({message:"Introduce todos los campos"});
}
});
}else{
res.status(200).send({message:"Introduce the password"});
}
}
我使用此方法通过“登录”方法访问数据:
exports.loginUsuarios = function(req, res){
var mParams = req.body;
var mEmail = mParams.email;
var mPassword = mParams.password;
User.findOne({mEmail: mEmail.toLowerCase(), mPassword: mPassword.toLowerCase()}, (err, user)=>{
if(err){
res.status(500).send({message:"Error en la peticion"});
}else{
if(user){
mBcrypt.compare(mPassword, user.password, (err, check)=>{
if(check){
if(mParams.gethash()){
//...
}else{
res.status(200).send({user: userStored});
}
}else{
}
});
}else if(!user){
if(user == null){
res.send({message: "No exite usuario"});
}
}
}
});
}
当我尝试使用正确的电子邮件和密码输入数据时,我只是给Null用户对象做搜索