2016-08-24 10 views
2

redux-firebasev3というライブラリを使用して、firebaseに対して3回の別々の呼び出しを行います。firebaseオブジェクトに複数の属性を設定するにはどうすればよいですか?

for(let object of array) { 
    .... 
    firebase.set(`/object/${id}/attr1`, attr1); 
    firebase.set(`/object/${id}/attr2`, attr2); 
    firebase.set(`/object/${id}/attr3`, attr3); 
} 

配列の長さは32です。約8番目のオブジェクトに到達すると、chrome開発ツールがフリーズしてクラッシュします。私はこれらの呼び出しを行うべきであるより良い方法はありますか?失敗の理由は何でしょうか? devツールがクラッシュするため、エラーが表示されません。

Here is the link to set function in the library.

答えて

1

ない私が正しく理解していますが、これを探しているかどうかわから?

firebase.set(`/object/${id}`, { attr1: attr1, , attr2: attr2, attr3: attr3 }); 
+0

のような例がはい、私はちょうど3つの呼び出しを行うのより良い方法のための提案を望んでいた含まれています。うまくいけばスピードアップし、クラッシュする傾向が少なくなるだろう。 –

+0

これは、オブジェクトの他の属性を上書きしますか?属性が4で、設定する必要はないとします。この呼び出しの後には3つの属性しかありませんか? –

+0

[Firebaseがこれらの要求をパイプラインしている]ので、通話を組み合わせることで得られるスピードアップは最小限に抑えられます(http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network -app-by-obesの代わりに-app-by-queryを使用する/ 35932786#35932786)。しかし、更新はワイヤー上で原子的になります。つまり、 'attr1'が無効です(あなたのセキュリティルールに従って)、' set() 'は私の変種では失敗します。 –

0

免責事項:私は著者のredux-firebasev3

の私は、元の質問を理解し、しかし明確にする場合はわからないの一人です:

を一度に一つのオブジェクトに複数の属性を設定するには:

firebase.set(`/object/${id}`, { attr1: "some val", attr2: "some string", attr3: "some other" });

複数の属性を設定するには複数の別々のの場所に:

firebase.set(`/messages/${id}`, { attr1: "some val", attr2: "some string" }) firebase.set(`/objects/${id}`, { attr1: "some val", attr2: "some string" })

既存のパス更新を設定するには:

firebase.update(`/messages/${id}`, { attr1: "some val", attr2: "some string" })

をゴールは、物事を含め、可能なライブラリとしてclosleyミラーthe Firebase APIを、持っていました設定と更新のようなものです。

レポは今simple example

関連する問題