在firebase数据库{child}中为子项获取子项值

时间:2017-09-21 00:53:39

标签: android firebase firebase-realtime-database

这是我用于在用户名下存储纬度,经度和主题的数据库结构。现在我是slocation的当前用户,我想在tlocation用户中找到与我的主题相同的主题。我知道for循环可以找到相同的主题,但如果检测到相同的主题,那么我如何获得相同主题的用户名? 如果我对数据库的插入错误,请告诉我。谢谢。 enter image description here

1 个答案:

答案 0 :(得分:0)

您需要使用查询从tlocation获取节点。

String subject = "P - mathematics";
DatabaseReference tlocationRef = FirebaseDatabase.getInstance().getReference("tlocation");
Query subjectQuery = tLocatinRef.orderByChild("subject").equalTo(subject);
subjectQuery.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
            System.out.println(userSnapshot.getKey());
        }
    }

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

另见: