无法访问来自mongodb的数据

时间:2018-11-06 03:08:56

标签: javascript node.js mongodb mongoose login

我从邮递员发送的数据带有正文,其中包含我的模型需要的所有数据,在我的方法“注册”中,数据存在任何问题的“保存”,但是当我尝试使用“登录”方法数据为空。

这是我的用户模型:

'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用户对象做搜索

0 个答案:

没有答案