Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 如何循环浏览firebase中的子记录?_Typescript_Firebase_Firebase Realtime Database - Fatal编程技术网

Typescript 如何循环浏览firebase中的子记录?

Typescript 如何循环浏览firebase中的子记录?,typescript,firebase,firebase-realtime-database,Typescript,Firebase,Firebase Realtime Database,我试图弄清楚如何循环通过users表中的sent_request子项并获取所有用户_密钥。我试过很多方法,但都不管用 表格结构: getProfileData(emailID) { var ref = firebase.database().ref('users'); ref.orderByChild("email").equalTo(emailID).once("value", (items : any) => { let sent_request : a

我试图弄清楚如何循环通过users表中的sent_request子项并获取所有用户_密钥。我试过很多方法,但都不管用

表格结构:

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

这是我的代码:

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(已发送请求)输出:

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

如何从这些记录中获取用户密钥?因为我想将每个用户密钥传递给另一个方法,并基于该用户密钥获取记录。 请帮忙。
提前谢谢。

我想您可能正在寻找:

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

代码乍一看很好。什么东西不管用?你回过电话吗?控制台上有任何相关错误吗?@FrankvanPuffelen没有错误。我的问题是如何获取users表中sent\u request子级中的每个user\u密钥?