node.js - 如何将对象值保存在变量中

标签 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'}]

最佳答案

如果我正确理解你的问题, 您不应将实际密码存储在数据库中。相反,您应该使用类似 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/

相关文章:

python - pymongo 中的 Tailable 游标似乎已停止工作

mongodb - 错误 : Cannot init client | mongo-connect express-session

scala - MongoDB - 匿名化 600k 记录

node.js - 查找多个文档升序,限制 1 个 mongoose

mongodb - mongodb 中同一集合的联合

node.js - 在 express 中添加故意延迟

node.js - 使用 sails js 版本 1 提升后的动态数据库连接

node.js - MongoDB 是否查询客户端操作?

javascript - 使用 NodeJS 进行 SNS 推送通知

node.js - 查找 View 失败