javascript - 获得第一个没有 key 的 firebase child

标签 javascript json node.js firebase firebase-realtime-database

<分区>

我正在尝试获取 firebase 对象的第一个子对象。我的引用看起来像这样:

var sitesToVisitRef = firebase.database().ref('sitesToVisit')

我知道 ref 有效,因为我可以写信给它。我的数据结构可能如下所示:

sitesToVisit:
  arstechnica-com:
    url: "https://arstechnica.com"

但是,我不知道 key (arstechnica-com),但我需要获取 url。

我正在尝试使用这段代码:

var nextUrl;
sitesToVisitRef.limitToFirst(1).once('value', function(snapshot) {
    console.log("snapshot key" + snapshot.key);
    console.log("snapshot.val.url = " + snapshot.val().url);
    console.log("snapshot.val" + snapshot.val());
      nextUrl = snapshot.val().url;
    }
  });

但是 snapshot.key 记录为“sitesToVisit”,而不是“arstechnica-com”。

如有任何帮助,我们将不胜感激。非常感谢!

最佳答案

试试这个:

var nextUrl;
sitesToVisitRef.limitToFirst(1).once('value', function(snapshot) {
    for(var key in snapshot.val()){
        console.log("snapshot key" + key);
        console.log("snapshot.val.url = " + snapshot.val()[key].url);
        console.log("snapshot.val" + snapshot.val()[key]);
        nextUrl = snapshot.val()[key].url;
    }
  });

您在 snapshot 中拥有的是一个数组,其中包含 sitesToVisit 中的所有子项,因为您使用了 limitToFirst(1) 它只是第一个一个,但它仍然是一个数组,因此您需要遍历该数组以获取每个子项的键。

关于javascript - 获得第一个没有 key 的 firebase child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46499053/

相关文章:

javascript - 是否可以将 Realm 与 A​​ngular 2 一起使用?

javascript - 这个长长的矩阵能否在代码中拆分成多行?

javascript - 我可以在innerHTML 中使用包含URL 图像链接的变量吗?

javascript - 使用 jQuery 处理下拉列表的更改事件

json - Http API 响应 : List Vs Map

javascript - 当我尝试引用另一个模式的对象时,为什么 mongoose ref 对我不起作用?

node.js - 如何使用 Twitter API 回复提及

javascript - 多次加载冲突

json - 使用 Perl 模块 LWP::Authen::OAuth2 创建 Google Team Drive

java - 如何将日期字符串从 JSON 转换为时间跨度