логин пользователя не работает в node.js и mlab - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть база данных пользователей (имя пользователя, пароль) в mlab, и я хочу войти в систему, проверив, существует ли этот пользователь в базе данных, но он всегда выдает предупреждение, что неправильное имя пользователя / пароль, даже если оно существует в базе данных.

server.js:

     app.post('/check-login',(req,res)=>{
x=users.findOne({username:req.body.username,password:req.body.password}, 
            function(err, data) {
    console.log(data)
    if(data.length==1)
    {
        res.send({"message":"success"})

    }
    else{
        res.send({"message":"Wrong Username Or Password"})
    }
})


    })

login.js:

    handlePress() {
console.log("Hello");
axios.post("http://192.168.43.239:8081/check-login", {
  username: this.state.username, password: this.state.password
}).then(res => {
  console.log(res["data"])
  if(res["data"]["message"] == "success") {
    alert("Login Successfully");
    this.props.navigation.navigate('Home');
  }
  else {
    alert("Wrong Username Or Password")
  }
}).catch(function (error) {
    console.log(error);
  })
      };

1 Ответ

0 голосов
/ 22 апреля 2019

server.js

Запрос FindOne возвращает объект, и вы проверяете его длину, которая всегда будет ложной.

попробуйте это:

app.post('/check-login',(req,res)=>{
x=users.findOne({username:req.body.username,password:req.body.password}, 
            function(err, data) {
    console.log(data)
    if(data)
    {
        res.send({"message":"success"})

    }
    else{
        res.send({"message":"Wrong Username Or Password"})
    }
})


    })
...