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

#1楼 票数:0

您可以var ref = firebase.database().ref('users');用户的引用放在首位: 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...
      }
  });
});  

#2楼 票数: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');

  ask by translate from so

未解决问题?本站智能推荐:

1回复

Firebase云功能DeltaSnapshot父访问

我找不到任何方法来查询数据库以获取DeltaSnapshot的父值,因此我尝试将事件设置为在整个数据库中的任何内容发生更改时触发。 这似乎仍然正确触发onWrite,但尝试返回任何子项的内容或键返回null值。 我在日志中打印了DeltaSnapshot的值,并且整个数据库都在那里,并且日志
2回复

Firebase存储不返回downloadURL

我正在使用此代码更新图像并获取URL,但无法获取URL。 似乎有一些回报,因为它可以进入承诺的回报。 我从这里获得此代码: https : //gist.github.com/CristalT/2651023cfa2f36cddd119fd979581893 该代码为另一个用户
1回复

在距离内从firebase获取数据

我想:当进入300米的聊天室地理位置时,从Firebase获取数据(=以前的聊天消息)。 我的代码: 这是我的基本Firebase聊天功能: }); }); 这是我的“300米以内激活聊天室”功能: if(chatroom){ } 其他{
1回复

Firebase 实时数据库的快照不完整/缺少几层

我将数据存储在包含多层嵌套的 Firebase 实时数据库中。 一层包括一个键值对,键值对与一个数组对应的键“练习”。 当我从 FB 检索此数据作为快照时,该层的值显示为undefined 。 快照并未完全展平,但此层和下面的任何内容都丢失了。 这是我检索数据的方式: 谁能告诉我为什
0回复

在不知道 Firebase 和 C# 中所述孩子的 ID 的情况下获取孩子的孩子

我有一个存储用户帐户数据的 firebase 数据库,如下所示: 而且我需要能够基本上获取每个人并将他们放入“人员”列表(Xamarin c# 中的 .cs 对象)。 个别地,我可以通过直接引用每个用户的 UID 来找到该特定帐户,但当然,如果没有可使用的 UID,我无法执行此操作。 我需
1回复

Swift 3和Firebase:从快照中检索自动ID值

我在firebase上创建了下面的结构,我需要用红色下划线自动id: 我创建的用于查询值的代码: 我的“ snapshot.value ”导致: 如何从上面的节点只获得字符串-KaRVjQgfFD00GXurK9m ? 我曾尝试使用“ print(snapsho
1回复

如果您不知道文档名称,如何删除 firebase firestore 集合文档?

我正在创建“将项目保存到收藏夹”功能,以便当用户单击心形图标时,该项目会被添加到他的收藏中。 但是,我正在努力添加“不喜欢”功能,因此当用户再次单击心形按钮时,我想从他的收藏中删除该项目。 不幸的是,我无权访问所选项目的文档 ID,但我知道使该项目在该文档中具有唯一性的字段。 这是我正在尝试做的
1回复

打印 Firebase 快照中具有特定儿童和特定单词的所有用户?

假设您有一个供所有用户使用的孩子(“电子邮件”)。 现在您制作一个快照来检查所有用户的所有电子邮件。 登录用户有一个@gmail 帐户。 您打印与登录用户具有相同电子邮件域的所有用户,例如 @gmail。 可能类似于下面需要找出粗体线的内容 refArtists.observe(DataEve