如何将该密码保存在变量中,以便我可以通过用户输入检查它并进行身份验证。
下面是我的代码。
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'}]
最佳答案
如果我正确理解你的问题, 您不应将实际密码存储在数据库中。相反,您应该使用类似 crypto 的模块加密您的密码然后存储它。你应该用谷歌搜索一下。有大量关于 NodeJS 身份验证的文章/教程。
关于检查密码,您正在使用此行将用户给定的密码存储在 pass 变量中 (var pass=req.body.n2;
),对吧?所以,我相信一个简单的比较运算符应该适用于您的情况。示例:
if (result[0].password === pass) {
console.log('Loggedin');
} else {
console.log('Login failed');
}
关于node.js - 如何将对象值保存在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58657790/