从Firebase返回的对象中访问特定键及其值

时间:2020-04-08 21:25:25

标签: javascript firebase key key-value

我有一个JS函数,该函数进入Firebase实时数据库中以读取一些对象。它检查的对象有几个字段,但是我只想要其中之一,URL密钥及其值。这是我的检索数据的函数:

const dbRefObject = firebase.database().ref('gifs');
dbRefObject.on('value', gotData);

function gotData(data){
    dbRefObject.once('value', function(snapshot){
        snapshot.forEach(function(childSnapshot){
            var childKey = childSnapshot.key;
            var childData = childSnapshot.val();
            console.log(childKey, "   ", childData);
            })
        }
    ) 
}

实际返回的数据如下:

Content Description: "Hack The Planet"
Date Added: "08/04/2020"
Permission: "Admin"
URL: "https://firebasestorage.googleapis.com/v0/b/..."

我只想访问URL密钥及其数据,但似乎无法访问。我已经尝试过执行childData [3],但是它不起作用。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

实时数据库中的子值始终由其名称而不是其顺序指定。要从快照获取URL,您将需要使用:

var childData = childSnapshot.val();
var URL = childData.URL;

请注意,子项的名称成为val()返回的对象的键。