如何将对象值保存在变量中

时间:2019-11-01 10:37:45

标签: node.js mongodb

如何将该密码保存在变量中,以便可以通过用户输入进行检查并进行身份验证。

下面是我的代码。

 app.post('/check-user',(req,res)=>{

        var user=req.body.n1;
        var pass=req.body.n2;
        MongoClient.connect(url,{ useNewUrlParser: true, useUnifiedTopology: true},function(err,db){
        if(err) throw err;
        var dbase = db.db("db");
        //var query = { username: user };
          dbase.collection("users").find({"username":user},{projection:{_id:0,Name:0,username:0}}).toArray(function(err, result) {
            if(err) throw err;
            console.log(result);
            db.close();
            });
        });
})

app.listen(8080,()=>{})

输出为[{password:'keshav'}]

1 个答案:

答案 0 :(得分:0)

如果我理解您的提问正确, 您不应将实际密码存储在数据库中。相反,您应该使用crypto之类的模块来加密密码,然后将其存储。你应该用谷歌搜索它。关于NodeJS中身份验证的文章/教程很多。​​

关于检查密码,您正在使用此行将用户的给定密码存储在pass变量(var pass=req.body.n2;)中,对吗?因此,我相信一个简单的比较运算符应该适合您的情况。示例:

if (result[0].password === pass) {
  console.log('Loggedin');
} else {
  console.log('Login failed');
}