如何通过在同一父级中搜索子项的其他值来检索子项的值

我正在使用Firebase实时数据库。因此,在用户节点中,它具有所有用户ID,并且在用户内部,ID具有所有用户信息(名称,电子邮件,经度,纬度,密码)。我想做的就是查询数据库,以检查用户名是否相同,如果是,那么我想从同一父级(用户ID)获取longitudelatitude的值。

Here is my database structure

xuxianbing11 回答:如何通过在同一父级中搜索子项的其他值来检索子项的值

如果要获取姓名为abc的用户的经纬度,请尝试以下代码行:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference userRef = rootRef.child("user");
Query queryByName = userRef.orderByChild("name").equalTo("anb");
ValueEventListener valueEventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            double latitude = ds.child("latitude").getValue(Double.class);
            double longitude = ds.child("longitude").getValue(Double.class);
            Log.d(TAG,latitude + "," + longitude);
        }
    }

    @Override
    public void onCancelled(@NonNull DatabaseError databaseError) {
        Log.d(TAG,databaseError.getMessage()); //Don't ignore errors!
    }
};
queryByName.addListenerForSingleValueEvent(valueEventListener);

您的logcat中的restul将是:

3.077057,101.590268
本文链接:https://www.f2er.com/3168638.html

大家都在问