如何检查Firebase数据库中是否存在输入

问题描述 投票:1回答:1

enter image description here

我有多个展位用户,我想检查我的用户名和密码是否存在于展位字段中。

假设我使用用户名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:booth01password:idontknow

有没有办法根据我的输入专门从Firebase返回数据?

javascript firebase firebase-realtime-database
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.