如何遍历firebase中的子记录?

Posted

技术标签:

【中文标题】如何遍历firebase中的子记录?【英文标题】:How to loop through child records in firebase? 【发布时间】:2018-10-06 22:16:20 【问题描述】:

我正在尝试弄清楚如何遍历 users 表中的 sent_request 子项并获取所有 user_keys。我尝试了很多方法,但都不起作用。

表结构:

这是我的代码:

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) 输出:

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

【问题讨论】:

代码乍一看还不错。什么不起作用?它有没有得到你的回调?控制台是否有任何相关错误? @FrankvanPuffelen 没有错误。我的问题是如何获取 users 表中 sent_request 子项中的每个 user_key? 【参考方案1】:

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

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

【讨论】:

以上是关于如何遍历firebase中的子记录?的主要内容,如果未能解决你的问题,请参考以下文章

我该如何解决这个问题:Android Studio - Flutter - Dart - firebase [关闭]

如何遍历 Firestore(React 和 Firebase Web 应用程序)中的多个用户子集合?

如何从 Firebase 获取名称以某个字符串开头的记录?

如何使用密钥检索firebase中的子数据?

Uncaught FirebaseError: Firebase: No Firebase App '[DEFAULT]' has been created - 在 vue.js 中调用 Fireba

Stripe 和 Firebase:FirebaseError:collection() 的第一个参数应为 CollectionReference、DocumentReference 或 Fireba