从Firebase数据库检索数据的问题

时间:2019-09-15 01:28:18

标签: javascript firebase

我从Firebase数据库检索数据时遇到问题。数据结构如下:

posts:{ 
    (Random key):{
       post:{
           text: "random text"
           title: "title of some kind"
           username: "username"
       }
  }
}

,我尝试检索文本的代码是:

database.ref("posts").orderByChild("post").on('value', function(snapshot){
       console.log(snapshot.val().text);
   }) 

我是这个Firebase的新手,所以很抱歉这是一个愚蠢的问题。

2 个答案:

答案 0 :(得分:1)

您必须像这样更改代码:

database.ref("posts").child(randomKey).on('value', function(snapshot){
       console.log(snapshot.child("post").child("text").val());
   }) 

您的snapshotDataSnapshot,它包含一个child()本身的DataSnapshot方法。要获取text字段,您只需使用chield("text")然后获取val()

答案 1 :(得分:1)

首先,您可以对post上任何属性使用orderBy对结果进行排序。 例如


var sortedpost = firebase.database().ref('posts').orderByChild('post/text');

或者您也可以使用orderByKey根据文档ID进行排序。

此后,您可以使用on侦听器获得所需的结果,如下所示。

    sortedpost.on('value', function(snapshot){
       console.log(snapshot.val());
   })