0

I'm trying to figure out how to loop through sent_request child which is inside users table and get all user_keys. I tried many ways but it's not working.

table structure:

database structure

here is my code:

getProfileData(emailID)
{
    var ref = firebase.database().ref('users');
    ref.orderByChild("email").equalTo(emailID).once("value", (items : any) => {
        let sent_request : any = [];

        items.forEach((item) => {

            sent_request = item.val().sent_request;

        });
        console.log(sent_request);
    });
}

console.log(sent_request) output:

output

How to get user_key from these records? because I want to pass these each user_key to another method and get records based on that user_key. Please help. Thanks in advance.

Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807
Shreyas Pednekar
  • 1,285
  • 5
  • 31
  • 53
  • The code looks fine on first glance. What isn't working about it? Does it ever get to your callback? Are there any relevant errors on the console? – Frank van Puffelen Apr 26 '18 at 13:30
  • @FrankvanPuffelen There are no errors. my question is how to get each user_key which are inside sent_request child inside users table? – Shreyas Pednekar Apr 27 '18 at 05:37

1 Answers1

0

I think you may be looking for this:

ref.orderByChild("email").equalTo(emailID).once("value", (usersSnapshot : any) => {
    let sent_request : any = [];

    usersSnapshot.forEach((userSnapshot) => {

        userSnapshot.child("send_request").forEach((requestSnapshot) => {
            sent_request.push(requestSnapshot.key);
            // OR: sent_request.push(requestSnapshot.child("user"key").val());

        }

    });
    console.log(sent_request);
});
Frank van Puffelen
  • 565,676
  • 79
  • 828
  • 807