我需要从“用户节点”中查询用户信息,然后将其显示在html表中,到目前为止,我只能将Firebase数据库中“请求节点”的状态子级查询到html表中。
如何查询其uid存在的每个节点中每个用户的信息? 这是我的结构,到目前为止,我可以显示待处理状态。由于用户只有1个uid,因此我认为可以在每个用户的待处理状态旁边显示其名称。
] 1
这是我查询待处理状态的方法,
var database = firebase.database().ref().child('Request').child('Pending');
database.once('value', function(snapshot){
snapshot.forEach(function(data){
var ReqStatus = data.val().request_status;
content +='<tr>'
content +='<td>' + ReqStatus+ '</td>';
content +='</tr>';
});
$('#mytable').append(content);
}
);
答案 0 :(得分:1)
要同时为每个请求加载用户数据,则需要使用其他监听器。最简单的方法是这样的:
PIC X VALUE X'00'.
有关此方法的一些注意事项:
var root = firebase.database().ref();
var database = root.child('Request').child('Pending');
database.once('value', function(snapshot){
snapshot.forEach(function(data){
var reqStatus = data.val().request_status;
var uid = data.key;
root.child('User').child(uid).once('value', function(userSnapshot) {
var username = userSnapshot.val().username;
content += '<tr>'
content += '<td>' + username+ '</td><td>' + reqStatus+ '</td>';
content += '</tr>';
})
});
$('#mytable').append(content);
});
子节点上侦听以减少带宽使用:username
。正如André所说:您可能希望将作者的用户名存储在每个请求节点中,以减少读取次数并简化代码。在JavaScript中做到这一点非常简单:
root.child('User').child(uid).child('username').once('value'...