所以我打算从父节点societies
中检索一个节点列表,这些节点将存储子节点名称,从这个案例中检索为ALT5
,ASN11
, Foot15
child
正下方的sUsers
节点是该用户的uid
,因此可以使用
var runUid = firebase.auth().currentUser.uid;
以便查询可以与具有不同child
个节点的多个用户一起使用
编辑:这需要在sUsers
内的Societies
下具有不同子节点的其他节点上工作
代码,目前因为societies
下有3个子节点,它会记录3 null
个值,而我想要存储child
个节点的实际名称
firebase.auth().onAuthStateChanged(function(user){
var userID = firebase.auth().currentUser.uid;
var rootRef = firebase.database().ref('sUsers');
var newRoot = rootRef.child(userID).child('Societies')
newRoot.once('value', function(snapshot){
snapshot.forEach(function(childs){
var societies = childs.child('Societies').val();
console.log(societies);
});
});
});
答案 0 :(得分:3)
在您发布的代码中,您在childs
中使用的变量DataSnapshot.forEach
实际上是节点'Societies'
的每个子节点。
所以这应该有效:
firebase.auth().onAuthStateChanged(function(user){
var userID = firebase.auth().currentUser.uid;
var rootRef = firebase.database().ref('sUsers');
var newRoot = rootRef.child(userID).child('Societies');
newRoot.once('value', function(snapshot){
snapshot.forEach(function(_child){
var society = _child.key;
console.log(society);
});
});
});
Here你可以看到一些文档和一些例子。