如何在 Firebase 中搜索 Child 的值

Posted

技术标签:

【中文标题】如何在 Firebase 中搜索 Child 的值【英文标题】:How to search a value of a Child in Firebase 【发布时间】:2020-03-25 23:21:13 【问题描述】:

我正在开发一个已创建登录页面的 android 应用程序。用户将在其中输入他的用户名和密码。现在如何搜索具有相同密码的用户名是否存在于我的 Firebase 数据库中。

这是我的 Firebase 数据库结构:

互联网上有几种方法,但这些方法对我不起作用,因为这些方法需要在搜索之前输入确切的子名作为输入。但就我而言,我在“管理员”和“员工”部分下随机生成了密钥。如何使用用户输入的用户名和密码字段搜索名称和密码。谢谢!

【问题讨论】:

【参考方案1】:

无法同时查询ZXMU5741/ADMINZXMU5741/Employees。您将需要执行两个查询,一个在ZXMU5741/ADMIN 上,一个在ZXMU5741/Employees 上。他们每个人都可以使用相同的基本方法:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference("ZXMU5741/ADMIN");
Query query = ref.orderByChild("name").equalTo("haseeb");
query.addListenerForSingleValueEvent(new ValueEventListener() 
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) 
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) 
            long password = userSnapshot.child("password").getValue(Long.class);
            if (password == 41231) 
                ...
            
        
    

    @Override
    public void onCancelled(DatabaseError databaseError) 
        throw databaseError.toException();
    

【讨论】:

以上是关于如何在 Firebase 中搜索 Child 的值的主要内容,如果未能解决你的问题,请参考以下文章

检索子值 -firebase-

从 Firebase 存储中读取文件的值/内容

如何从孩子(firebase)查询所有孩子的值[重复]

如何从 Firebase Realtime DB 读取孩子的值?

如何使用kotlin在Android的firebase中获取child的键值

如何在 Firebase 中设置允许写入 IF CHILD DOES NOT EXIST 的规则?