我有一个Firebase实时数据库(不是云)结构,例如:
users
kasdf872ajsda //user id
auiiq6d182g1 //list id
c: <mycontent> //list content
我知道列表ID(在这种情况下为auiiq6d182g1
),并且我想检索<mycontent>
,但是我不知道用户ID kasdf872ajsda
,因为我要做什么检索可能不是从当前正在使用该网站的用户那里进行的(事实上,我没有为“读取”设置任何数据库规则,仅对于“写入”才正确吗?)。
我现在正在做的是这样(不起作用):
var ref = firebase.database().ref().child('users');
ref.child(listID).once("value", function(snapshot) {
var snap = snapshot.val();
myContent = snap.c;
});
答案 0 :(得分:0)
您可以将对用户的引用放在首位:var ref = firebase.database().ref('users');
然后循环遍历:
ref.once('value').then((snapshot)=>{
snapshot.forEach(function(data) {
if (data.key == <YOUR_LIST_ID>) {
//you can access data.c here...
}
});
});
答案 1 :(得分:0)
找到解决方案,如果有人应该遇到相同的问题:
ref.once("value", function(snapshot) {
snapshot.forEach(function(data) {
snap = data.child(<YOUR_LIST_ID>).child('c').val();
if (snap != null){
myContent = snap;
}
});
});
也ref
与所有人所说的相反:
var ref = firebase.database().ref().child('users');
这不起作用:
var ref = firebase.database().ref('users');