2017-11-04 3 views
0

Zum Beispiel wir eine Datenbankstruktur haben wie:Wie Childs Schlüssel mit snapshotChanges bekommen() AngularFire

unter Message:

authkey 

     ----msgkey 

      username:test 
      message:test message 
     ----msgkey2 
      username:test 
      message:test messagee 

oder wir haben db ohne authkey msgkey gerade mag:

messagedata

---msgkey 
     username:testuser 
     message:test message 

wie man Nachricht von der Datenbank mit seiner msgkey erhält?

in Dokumentation Code ist

afDb.object('items/1').snapshotChanges().map(action => { 
    const $key = action.payload.key; 
    const data = { $key, ...action.payload.val() }; 
    return data; 
    }).subscribe(item => console.log(item.$key)); 
} 

aber in diesem Code Artikel. $ Key kehrt messagedata.i irgendwie denke ich gehen müssen um 2 weitere Schichten 1 für authkey 1 für msgkey oder in zweiten Beispiel 1 Schicht nur msgkey bekommen?

dank

Antwort

0

Hallo scheint, wie Sie in Ihrem obigen Code kleine Fehler machen.

Ihr Code wie folgt sein sollte:

afDb.object('items/1').snapshotChanges().map(action => { 
const $key = action.key; 
const data = { $key, $value: action.payload.val() }; 
return data;}).subscribe(item => { 
console.log(item.$key); 
console.log(item.value);}); 

Die hier vorgenommene Änderung ist, statt action.payload.key verwenden, wird action.key verwendet.

action.key hält den Schlüssel dieser besonderen Aktion und den Wert zu erhalten, verwenden wir action.payload.val()

Verwandte Themen