我试图通过对其子参数的搜索返回 Firebase 中的 UID 键值。
-Users
-BCsuC4XAZq0MDK1taLcD2
-Name: Test1
-Phone: 0011223344
-t50GPKxb8mgINGbmGJrR83
-Name: Test2
-Phone: 9988776655
因此,从上面的数据库中,我试图实现一个基于电话号码的搜索功能,其中搜索“9988776655”的用户将获得“t50GPKxb8mgINGbmGJrR83”的返回值,但经过几个小时的混乱后,我并没有更接近能够做到这一点。
这里有一个帖子:在Android中根据字段查询Firebase并返回父级 https://stackoverflow.com/questions/43618268/query-firebase-based-on-field-and-return-parent-in-android
看起来非常接近,但不幸的是没有提供完整的解决方案代码。在尝试了它之后,我能尝试将其融入我的场景的最好结果就是空响应。
有谁知道我实际上可以如何做到这一点?我读过几十篇论坛帖子,也看了几篇 YouTube 教程,但似乎没有人能够做到这一点。是否可以?
尝试这个:
DatabaseReference ref=FirebaseDatabase.getInstance().getReference().child("Users");
ref.orderByChild("Phone").equalTo(9988776655).addValueEventListener(new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
String keys=datas.getKey();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
使用上面的内容,您将进入数据快照Users
,那么既然你想根据电话号码进行搜索,你可以这样做orderByChild("Phone").equalTo(9988776655)
这将搜索与所提供的值相等的电话号码。该值可以是您添加的变量或字符串"9988776655"
.
然后为了能够获得随机 id,您需要在直接子级内部进行迭代,使用getKey()
您将能够检索等于 9988776655 的手机的随机 ID
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)