子如何取数据?

时间:2019-09-20 08:57:42

标签: javascript firebase firebase-realtime-database

我无法从Firebase数据库检索数据

在该数据库中,我需要获取“ TYPE”字段,但由于不知道是随机密钥,所以不知道如何识别子组件

 firebase.database().ref('Sveglie/' + userId).on('value', (snapshot) => {
              // console.log(snapshot)
               this.setState({ ret : snapshot})
                console.log(this.state.ret)

有了这个,我得到了整个部分。 如何解决?

1 个答案:

答案 0 :(得分:0)

如果您只想为特定用户检索特定的子节点,则需要了解一些可以识别该用户的信息(您可以这样做)以及一些可以识别该节点的信息。从这个问题尚不清楚您是否有后者。如果不这样做,那么您所能做的就是为用户处理所有子节点。

类似的东西:

firebase.database().ref('Sveglie/' + userId).on('value', (snapshot) => {
  let states = "";
  snapshot.forEach((child) => { // loop over each child node of the user's node
    if (child.hasChildren()) { // ensure we only process the child nodes with child properties
      console.log(child.key); // "-Lpc_vqU...-aNcl"
      console.log(child.val()); // { DestinationForUserNotify: "... ", ... }
      console.log(child.val().type); // "shareD"

      states = states + child.val().type + "\n";
    }
  })
  this.setState({ ret : states })
})