Firebase检索嵌套数据 [英] Firebase retrieve nested data

查看:62
本文介绍了Firebase检索嵌套数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

尝试从Firebase检索时遇到了一些麻烦.基本上我的分组表是这样的:

I was having some troubles when trying to retrieve from Firebase. Basically my groups table as such:

在这种情况下,在group ID -KpFibCHjJ1xpfLd07WJ下有一个account ID -KpFiX2L7ENt6EBgrB0S.顺便说一句,会有多个帐户,我仍在处理数据插入.

In this case, under group ID -KpFibCHjJ1xpfLd07WJ, there is one account ID -KpFiX2L7ENt6EBgrB0S. By right there will be more than one account, I am still working on the data insert.

我尝试检索特定组下帐户的唯一推送ID列表:

I tried to retrieve the list of unique push ID for accounts under certain group:

var accounts = [];
    var query = firebase.database().ref('groups').orderByChild('address').equalTo('Blk 165');
    query.once( 'value', data => {
        data.forEach(userSnapshot => {
            let groupData = userSnapshot.val();
            console.log(groupData );
            accounts.push(groupData .accounts);

            for(var i = 0; i < accounts.length; i++){
              console.log(accounts[i]);
            }
        });
    });

但是,从for循环打印出来的是:

However, what has printed out from for loop is:

Object {
  "-KpFiX2L7ENt6EBgrB0S": true,
}

关于如何提取特定子项下的唯一推送ID(-KpFiX2L7ENt6EBgrB0S)列表并将其存储到临时数组的任何想法?

Any ideas on how to extract out the list of unique push ID (-KpFiX2L7ENt6EBgrB0S) under certain child and store them into a temporary array?

推荐答案

诀窍在于Object.keys(groupData.accounts):

var accounts = [];
var query = firebase.database().ref('groups').orderByChild('address').equalTo('Blk 165');
query.once( 'value', data => {
    data.forEach(userSnapshot => {
        let groupData = userSnapshot.val();

        let accounts = Object.keys(groupData.accounts);

        console.log(accounts);
    });
});

这篇关于Firebase检索嵌套数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆