我有多个展位用户,我想检查我的用户名和密码是否存在于展台现场。
假设我使用用户名 booth02 和密码密码进行登录。我希望将此作为真实/成功归还。
这是我的剧本:
router.post('/getlogin', function (req, res) {
username = req.body.username;
password = req.body.password;
adminlogin = database.ref('booths');
adminlogin.once('value', function(snapshot){
var dataSet = [];
snapshot.forEach(function(childsnapshot){
user = childsnapshot.val().username;
pass = childsnapshot.val().password;
if(username == user){
req.session.user = childsnapshot.key;
req.session.auth = true;
return res.status(200).send('Success');
}else{
return res.status(401).send('false');
}
});
})
})
但是为我的用户返回的结果是第一个数据username:booth01
和password:idontknow
。
有没有办法根据我的输入专门从Firebase返回数据?
答案 0 :(得分:1)
改变这个:
adminlogin.once('value', function(snapshot){
到此:
adminlogin.orderByChild("username").equalTo(inputname).once('value', function(snapshot){
在equalTo查询中的值inputname
将是您在表单中输入的输入。然后它只会检索与您输入的用户名相关的数据。
更多信息:
https://firebase.google.com/docs/reference/js/firebase.database.Query#equalTo