Javascript 如何访问firebase数据库中的特定子字段

Javascript 如何访问firebase数据库中的特定子字段,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,如何访问每个唯一firebase键下的“name”标记及其值。请参考随附的我的示例数据结构的屏幕截图 注:此处“标签”下的按键是通过按键功能生成的 我在JS中尝试了一些东西,但没有成功 ref.child("users").child("Tags").limitToFirst(1).on("child_added", function(snapshot) { console.log(snapshot.val()); }); 试试这个 ref.child("users").child("Tags

如何访问每个唯一firebase键下的“name”标记及其值。请参考随附的我的示例数据结构的屏幕截图

注:此处“标签”下的按键是通过按键功能生成的

我在JS中尝试了一些东西,但没有成功

ref.child("users").child("Tags").limitToFirst(1).on("child_added", function(snapshot) {
console.log(snapshot.val()); });
试试这个

ref.child("users").child("Tags").on("child_added",function(snapshot) {
    snapshot.forEach(function(snap){
        console.log(snap.val())
    });
}

您可以使用快照的
child()
方法访问快照的子属性:

ref.child("users").child(pushidofparent).child("Tags").on("child_added",function(snapshot) {
    console.log(snapshot.child("name").val())
}

已尝试,但没有输出,控制台日志中没有错误。子项(“标记”)未显示任何结果。如果我删除它,然后能够记录一些信息。为什么会这样?任何想法…如果我在查询中使用“child(“Tags”)”,它不会在控制台日志中显示任何结果或错误。如果删除它,快照值将显示,但如果添加,则为空。也没有错误。它不承认标签是它的孩子,但为什么?是的,我现在看到你的JSON中有一个额外的级别。你们知道那个顶级推送ID吗?若你们在“用户”之前询问,那个么它是数据库的根。“用户”确实有一些同级节点,但没有父节点,只有根节点是它的父节点。刚刚看到您的代码,您是指“pushidofparent=标记的键id”?如果我给出标记节点的键id,我就能够访问“name”键-值对。我这里有一个问题,我从未在类似节点的其他查询中使用过Keyid,我可以完美地访问像node这样的标记。但为什么只需要这个密钥id?我的结构有问题吗?感谢您在这方面的指点。看起来您正在尝试对项目进行分类。您当前的结构允许您高效地读取项目的类别。但它还不允许有效地查询某个类别的项。为了实现这一点,您应该扩充您的数据结构。有关示例,请参见我的回答: