2016-10-18 7 views
2

を使用して別のオブジェクトを更新する私は、データベース内のオブジェクトを更新する必要があるので、私はこれを行う:Angularfire2とデータファンアウト

const items = af.database.list('/items'); 
items.update('key-of-some-data1', { size: newSize1 }); 
items.update('key-of-some-data2', { size: newSize2 }); 

これは魔法のように動作しますが、私は "との項目を更新したいと思いますデータファンアウト」ここで説明するように: https://firebase.google.com/docs/database/web/read-and-write https://firebase.googleblog.com/2015/10/client-side-fan-out-for-data-consistency_73.html

だから私は実行します。

var updates = {}; 
updates['key-od-some-data1']= { size: newSize1 }; 
updates['key-od-some-data2']= { size: newSize2 }; 
items.update(updates); 

国連幸いにも私はこのエラーを受け取ります:

zone.js:140 Uncaught Error: Error in ./AppComponent class AppComponent - inline template:30:2 caused by: Method requires a key, snapshot, reference, or unwrapped snapshot. Got: object

anglefire2でデータベースにデータファンアウトで更新することは可能ですか?データのファンアウトは、同じオブジェクトキーなどでのみ機能しますか?

+0

あなたはAF2を使用して 'key'を取得する方法の例がありますか?私は同じことをやろうとしていますが、 'child( '/ path')を呼び出すときにTSエラーに陥っています。push().key();' – brians69

+0

あなたは今作成した '自動的に生成されます。 'key = child( '/ path').push();' [https://firebase.google.com/docs/database/web/read-and-write](https://firebase.google.com)を試してください。/docs/database/web/read-and-write) – johnerfx

+0

'items.push( 'new item')を実行して取得しました。(res => console.log(res.key));'ありがとう、とにかく – brians69

答えて

4

は交換してください:

const items = af.database.list('/items'); 

で:

const items = af.database.object('/items'); 
+1

それは動作します、ありがとう。レコードの場合: – johnerfx

+0

これは動作します!ありがとうございました! –

関連する問題