首页 > 解决方案 > 检索 Firebase 对象 ID

问题描述

我使用以下循环从工作正常的表中获取数据:

database.once("value", function(snapshot){
  snapshot.forEach(snap => {
    log.console(snap.val().about_me)
})

它按预期将数据显示到日志中,但我似乎无法获取对象 ID?

我需要获得价值49GRZb8B31MUfpBN3zvHKOHCMOa2

在此处输入图像描述

我努力了:

snap.val().key; 

这将返回未定义

并尝试过snap.val()[0];

它将对象中的所有内容返回给我

标签: javascriptfirebasefirebase-realtime-database

解决方案


snap是一个DataSnapshot类型的对象。您可以看到它有一个名为key的属性。因此,您需要直接在 DataSnapshot 上引用该属性,如下所示:

snap.key  // correct

不是通过这样的原始数据对象:

snap.val().key   // incorrect, you have no child named 'key' in your data

推荐阅读