Firebase如何找到知道其ID但不知道其父母ID(JS)的孩子

时间:2018-10-12 14:51:34

标签: javascript database firebase snapshot

我有一个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;
});

2 个答案:

答案 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');