【问题标题】:How to search a value of a Child in Firebase如何在 Firebase 中搜索 Child 的值
【发布时间】:2020-03-25 23:21:13
【问题描述】:
我正在开发一个已创建登录页面的 Android 应用程序。用户将在其中输入他的用户名和密码。现在如何搜索具有相同密码的用户名是否存在于我的 Firebase 数据库中。
这是我的 Firebase 数据库结构:
互联网上有几种方法,但这些方法对我不起作用,因为这些方法需要在搜索之前输入确切的子名作为输入。但就我而言,我在“管理员”和“员工”部分下随机生成了密钥。如何使用用户输入的用户名和密码字段搜索名称和密码。谢谢!
【问题讨论】:
标签:
android
database
firebase
firebase-realtime-database
【解决方案1】:
无法同时查询ZXMU5741/ADMIN 和ZXMU5741/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();
}
}