Skip to content Skip to sidebar Skip to footer

Query Firebase Based On Field And Return Parent In Android

I'm looking to search through my Firebase database and find a field:value pairing that matches my query, and then return either that parent's key, or the parent object so that I ma

Solution 1:

It's never triggered because your DatabaseReference is wrong. When you query, you are missing a child. In order to have the correct DatabaseReference please use this code:

DatabaseReference events = FirebaseDatabase.getInstance().getReference("Events")
    events.addValueEventListener(newValueEventListener() {
    @OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
        for(DataSnapshot ds : dataSnapshot.getChildren()) {
            String eventKey = ds.getKey(); //parent keyDatabaseReference allOwnersEvents = FirebaseDatabase.getInstance().getReference("Events").child(eventKey);
            allOwnersEvents.addValueEventListener(newValueEventListener() {
                @OverridepublicvoidonDataChange(DataSnapshot dataSnapshot) {
                    String ownerName = dataSnapshot.child("ownerName").getValue(String.class); //do what you want with ownerName
                }
                publicvoidonCancelled(DatabaseError databaseError) {}
            });
        }
    }
    publicvoidonCancelled(DatabaseError databaseError) {}
});

In which eventId is the unique id generated by the push() method. Hope it helps.

Post a Comment for "Query Firebase Based On Field And Return Parent In Android"