2017-10-29 2 views
2

オブジェクトをノードフォロワにプッシュする必要がありますが、私は方法を見つけません。Firebaseプッシュアイテムのカスタムキー

私はこれ試してみてください。

this.af.database.list(`profile/${user}/followers/`).push({[from]: true}); 

をしかし、私の出力は、この enter image description here

だった私は、次の出力

enter image description here

任意のアイデアを必要ですか?

答えて

6

push()を使用すると、自動的に生成されたランダムな一意のIDを持つ新しいノードがリストに追加されます。あなたが特定の値を設定する必要がある場合は、代わりにset()を使用する必要があります:この例では

this.af.database.object(`profile/${user}/followers/${from}`).set(true); 

を、私はあなたのリストに値を直接参照を作成する代わりにlist()object()を使用しています作成する場合は、${from}はコード内で[from]と同じ値になります。

はまた、あなたの代わりにupdate()メソッドを使用することができます:私は(設定使用している場合、

this.af.database.object(`profile/${user}/followers`).update({[from]: true}); 
+0

をしかし)このメソッドは、フォロワー内のすべてのデータを削除し、真置きます。 –

+0

@MatiasCelizあなたが使用するIDが '$ {from} 'の' profile/$ {user}/followers/$ {from} '子で' set() 'を使用するようにする必要があります。 'followers'ノードで' set() 'を直接使わないでください。 – Grimthorr

+0

申し訳ありませんが、私はあなたを理解できません。私はノードに新しい要素を挿入するだけです。第2の画像と同様です。 この 'this.af.database.list(' followers/$ {user} ').push({[from]:true});'私の結果は最初の画像です。それから、私は 'this.af.database.list(' followers/$ {user} ')set({[from:true});を試してみました。 followerこのコードは、新しいユーザーデータの 'followers/$ {user}'のすべてのデータを置き換えます。 –

関連する問題