2017-11-06 7 views

答えて

2

あなたはFirebaseデータベースに対してクエリを実行すると、潜在的に存在しますです、私のfirebaseノード

inboxMessageFetch(mobileNumber, firebaseToken) { 
    return firebase.database().ref(`messaging/${mobileNumber}/inbox`).orderByChild("time") 
     .on('value', snapshot => { 
      if (snapshot.exists()) { 
       this.inboxMessages = snapshot.val(); 
       console.log('FB', this.inboxMessages); 
      } 
     }); 
} 

の順序付きリストを取得したいです複数の結果。したがって、スナップショットにはそれらの結果のリストが含まれています。結果が1つだけの場合でも、スナップショットには1つの結果のリストが含まれます。

コールバックで受け取るスナップショットには、すべてのアイテムのキーと値、および相対的な順序に関する情報が含まれています。 snapshot.val()に電話すると、注文に関する情報が失われます。

あなたのコードはこれを考慮する必要があり、要求されたために、結果をループにsnapshot.forEach()を使用する必要があります。私はthis.inboxMessages` `に値を代入しますどのように

inboxMessageFetch(mobileNumber, firebaseToken) { 
    firebase.database().ref(`messaging/${mobileNumber}/inbox`).orderByChild("time") 
    .on('value', snapshot => { 
     this.inboxMessages = []; 
     snapshot.forEach((messageSnapshot) { 
      console.log(messageSnapshot.key, messageSnapshot.val(); 
      this.inboxMessages.push(messageSnapshot.val()); 
     }); 
     console.log(this.inboxMessages); 
    }); 
} 
+0

? –

+0

更新されたスニペットを見る –

関連する問題