我想从我的Firebase数据库中检索数据。
在IMG 1中突出显示的一个是用户uid,在其下方是push()中的值。
这是我检索数据的代码
var getClassInfo = firebase.database().ref().child('Classes'+ user.uid +
'/');
getClassInfo.on('value', gotData,errData);
function gotData(data) {
//console.log(data.val());
var Classes = data.val()
var keys = Object.keys(Classes);
console.log(keys);
for (var i =0; i < keys.length; i ++){
var k = keys[i];
var TheClass = Classes[k].TheClass;
console.log(TheClass);
}
}
function errData(err) {
console.log('Error!');
console.log(err);
}
我如何ref()push()的值?
var getClassInfo = firebase.database().ref().child('Classes'+ user.uid +
[push()]);
如何从特定用户[TheClass]中检索所有教室名称?
答案 0 :(得分:0)
要获得通过推送创建的教室的价值,请执行以下操作,其中classId
是推送创建的键(例如LMpv .....)
firebase.database().ref('Classes/' + user.uid + '/' + classId).once('value').then(function (snapshot) {
console.log(snapshot.val().TheClass);
// ....
});
要检索特定name
的所有教室user
,请执行以下操作:
var userRef = firebase.database().ref().child('Classes' + '/' + user.uid);
userRef.once('value', function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var childData = childSnapshot.val();
var classroomName = childData.TheClass
});
});
通过使用once()
方法,您从数据库中读取了一次值,请参见https://firebase.google.com/docs/reference/js/firebase.database.Reference#once
如果您要使用on()
方法(如您在问题中所做的那样)并连续收听user
节点并检测何时添加新教室,请执行以下操作:
var userRef = firebase.database().ref().child('Classes' + '/' + user.uid);
userRef.on('child_added', function(data) {
console.log(data.val().TheClass);
});