2017-11-05 11 views
0

でデータを取得しないと、私たちはデータベースを持っているとしましょうか?私はanglefire2のドキュメントをチェックしましたが、snapshotchangesを使用していますが、このコードでは「レシピ」しか得られません。どのように私はそのキーfirebase

constructor(afDb: AngularFireDatabase) { 
    afDb.object('/recipes/').snapshotChanges().map(action => { 
    const $key = action.payload.key; 
    const data = { $key, ...action.payload.val() }; 
    return data; 
    }).subscribe(item => console.log(item.$key)); 
} 
+0

「items/1」とは何ですか? – Hareesh

+0

ああ申し訳ありませんが、私は直接レシピである必要がありますドキュメントからそのコードを取った – dongerofuniverse

答えて

0

ドキュメントは正しいです。ペイロードオブジェクトからキープロパティを取得できるように、スナップショットの変更を使用する必要があります。

はあなたのコードを見て、私はあなたがこの方法を使用することができます$キープロパティのリストを取得したい場合はAngularFireDatabase

const recipeKey = '<your-push-key>'; 
afDb.object(`/recipes/${recipeKey}`).snapshotChanges().map(action => { 
    const $key = action.payload.key; 
    const data = { $key, ...action.payload.val() }; 
    return data; 
}).subscribe(item => console.log(item.$key)); 

object()方法にキーを追加するのを忘れ信じています。

afDb.list(`/recipes`).snapshotChanges().map(actions => { 
    return actions.map(action => { 
     const $key = action.payload.key; 
     const data = { $key, ...action.payload.val() }; 
     return data; 
    }); 
}).subscribe(items => console.log(items)); 
+0

私はレシピキーを知っていない場合は – dongerofuniverse

+0

私の更新された答えを参照してください。 –

+0

私は定義されていません – dongerofuniverse

関連する問題