如何遍历firebase中的子记录?

时间:2018-04-26 09:13:43

标签: typescript firebase firebase-realtime-database

我试图找出如何循环遍历users表内的sent_request子进程并获取所有user_keys。我尝试了很多方法,但它没有用。

表格结构:

database structure

这是我的代码:

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

如何从这些记录中获取user_key?因为我想将每个user_key传递给另一个方法并根据该user_key获取记录。 请帮忙。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我想你可能正在寻找这个:

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);
});