这是我用于在用户名下存储纬度,经度和主题的数据库结构。现在我是slocation的当前用户,我想在tlocation用户中找到与我的主题相同的主题。我知道for循环可以找到相同的主题,但如果检测到相同的主题,那么我如何获得相同主题的用户名? 如果我对数据库的插入错误,请告诉我。谢谢。
答案 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();
}
})
另见: