Nodejs - 从 MongoDB 检查空对象并解析它
Nodejs - Checking for empty object from MongoDB and parsing it
我正在尝试从 NodeJS(使用 ExpressJS)和 MongoDB 实现一个简单的登录机制。我使用 MongoJS 进行数据库连接。我正在使用 $and:
查看集合中的字段是否匹配。
function authenticate(req,res){
username = req.body.username;
password = req.body.password;
db.users.find({$and :[{username:username},{password:password}]},function(err,doc){
if(( Object.keys(doc).length === 0 && doc.constructor === Object) === false){
res.send("Invalid login")
} else {
doc.forEach(function(doc){
console.log(doc.firstname)
})
}
})
}
我正在检查文档是否包含空对象(这意味着用户名和密码不匹配)并告诉页面显示登录无效。如果文档确实包含匹配的用户名和密码,我 console.log()
ging 用户的名字...
上面的代码不工作...我做错了什么?
提前致谢...
我认为,与其做你正在做的事情,不如简单地 运行 查询用户名且限制为一个结果并查看是否返回doc 包含一个结果。从那里我们将检查发布的密码是否与从数据库中查询的密码匹配,如果匹配,我们将 console.log 用户名。此外,您应该先对其进行哈希处理,而不是查询密码。详细了解 HERE
function authenticate(req,res){
username = req.body.username;
password = req.body.password;
db.users.findOne({"username":username}, function(err, doc) {
if (err) throw err;
if(doc && doc._id){
if(password==doc["password"]){
console.log("Your first name is: "+doc.firstname)
}else{
res.send("Invalid login")
}
}else{
res.send("Invalid login")
}
});
}
我正在尝试从 NodeJS(使用 ExpressJS)和 MongoDB 实现一个简单的登录机制。我使用 MongoJS 进行数据库连接。我正在使用 $and:
查看集合中的字段是否匹配。
function authenticate(req,res){
username = req.body.username;
password = req.body.password;
db.users.find({$and :[{username:username},{password:password}]},function(err,doc){
if(( Object.keys(doc).length === 0 && doc.constructor === Object) === false){
res.send("Invalid login")
} else {
doc.forEach(function(doc){
console.log(doc.firstname)
})
}
})
}
我正在检查文档是否包含空对象(这意味着用户名和密码不匹配)并告诉页面显示登录无效。如果文档确实包含匹配的用户名和密码,我 console.log()
ging 用户的名字...
上面的代码不工作...我做错了什么?
提前致谢...
我认为,与其做你正在做的事情,不如简单地 运行 查询用户名且限制为一个结果并查看是否返回doc 包含一个结果。从那里我们将检查发布的密码是否与从数据库中查询的密码匹配,如果匹配,我们将 console.log 用户名。此外,您应该先对其进行哈希处理,而不是查询密码。详细了解 HERE
function authenticate(req,res){
username = req.body.username;
password = req.body.password;
db.users.findOne({"username":username}, function(err, doc) {
if (err) throw err;
if(doc && doc._id){
if(password==doc["password"]){
console.log("Your first name is: "+doc.firstname)
}else{
res.send("Invalid login")
}
}else{
res.send("Invalid login")
}
});
}