1

我有这个损坏的 CodePen,我试图根据对象.key或 id 在另一个 Firebase Ref 中获取对象的信息......

我必须 Firebase Refs:内容

[
  {
    "name": "objecta",
    ".key": "objecta"
  },
  {
    "name": "objectb",
    ".key": "objectb"
  },
  {
    "name": "objectc",
    ".key": "objectc"
  }
]

以及通过键列出对象的相关项,然后是与该项目相关的对象的键。

[
  {
    "objectc": true,
    ".key": "objectb"
  }
]

我正在尝试使用以下代码按键通过relatedRef:

var theKey = "objectb"

function getDiscoverBarContent(key, cb) {
    relatedRef.child(key).on("child_added", snap => {
        let relateRef = relatedRef.child(snap.key);
        relateRef.once("value", cb);
        console.log('relate:' + relateRef)
    });
}

然后获取与之相关的对象的数据并将其记录到控制台:

getDiscoverBarContent(theKey, snap => {
    var snapVal = snap.val();
    console.log(snapVal)
}); 

目前,当我需要它返回相关引用中引用的 contentRef 中的对象信息时,它返回 null ......有什么想法吗?

4

1 回答 1

1

我在 JS 函数中引用了错误的 ref。一切都是对的,除了这个:

var theKey = "objectb"

function getDiscoverBarContent(key, cb) {
    relatedRef.child(key).on("child_added", snap => {
        //This should have referenced the contentRef:
        let relateRef = relatedRef.child(snap.key); 
        //like so
        let relateRef = contentRef.child(snap.key);
        relateRef.once("value", cb);
        console.log('relate:' + relateRef)
    });
}
于 2017-04-28T21:05:54.820 回答