javascript - 如何在 firebase 数据库中获取 push() 的引用?
问题描述
我想从我的 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);
}
如何引用()push()的值?
var getClassInfo = firebase.database().ref().child('Classes'+ user.uid +
[push()]);
如何从特定用户 [TheClass] 检索所有教室名称?
解决方案
获取push创建的教室的值,如下,classId
push创建的key在哪里(如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);
});
推荐阅读
- matlab - 在 Matlab 中使用平面切割裁剪 3D 网格
- oracle - HTTP500 错误 LoadRunner Oracle NCA 脚本
- c++ - 我可以制作一个基于子元素具有不同回报的虚函数吗?
- c++ - 找到一个非常大的数字的最右边的未设置位
- windows - 如何在 64 位 Windows 上准确修改本地描述符表?
- ios - Ionic ImagePicker - 应用程序在 IOS 12.3.1 上崩溃
- vb.net - 什么是 Visual Basic .Net 上的等效 hash_hmac PHP
- swift - 在 indexPath 处获取 UISwitch 状态到 UIcollectionView
- mysql - 将数据从一个表复制到另一个具有特定条件的表
- android - 带有 `?` 的可空 var 与 lateinit var