Firebase检索嵌套数据 [英] Firebase retrieve nested data
问题描述
尝试从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屋!