如何在Firebase中搜索孩子的值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Firebase中搜索孩子的值相关的知识,希望对你有一定的参考价值。

我正在使用创建了登录页面的android应用。用户将在其中输入用户名和密码的位置。现在,如何搜索Firebase数据库中是否存在具有相同密码的用户名。

这是我的Firebase数据库结构:

enter image description here

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

答案

无法同时查询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中搜索孩子的值的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在firebase数据库中获取所有孩子的数据?

如何仅在 Android Studio 中使用 Firebase 的当前登录用户的值填充 CardView?

如何在 Firebase 中搜索 Child 的值

在 Firebase 数据库中读取孩子

从多个孩子 Android Firebase 中检索同一个孩子