2016-07-29 84 views
0

以下代碼按預期工作。但是,我有2個問題:在Firebase中添加數據列表

// Save default Account Types 
var refTypes = this.housesRef.child(key + "/memberaccounttypes/"); 
refTypes.push({ name: 'Checking', icon: '0' }); 
refTypes.push({ name: 'Savings', icon: '0' }); 
refTypes.push({ name: 'Credit Card', icon: '0' }); 
refTypes.push({ name: 'Debit Card', icon: '0' }); 
refTypes.push({ name: 'Investment', icon: '0' }); 
refTypes.push({ name: 'Brokerage', icon: '0' }); 
  1. 通過這種方法,我在做好幾趟火力地堡,每一個推?
  2. 是否有一種更高效,最佳實踐的方式一次保存下列數據?

我使用火力地堡SDK 3

回答

0

每次調用以這種方式來推動確實會導致往返於火力地堡。您可以通過檢查瀏覽器調試工具的網絡選項卡上的「Web套接字」窗格輕鬆驗證此情況。

如果你想運行這個作爲一個單一的更新,你可以將它們組合成一個多位置的更新:

var refTypes = this.housesRef.child(key + "/memberaccounttypes/"); 
var updates = {}; 
updates[refTypes.push().key] = { name: 'Checking', icon: '0' }; 
updates[refTypes.push().key] = { name: 'Savings', icon: '0' }; 
updates[refTypes.push().key] = { name: 'Credit Card', icon: '0' }; 
updates[refTypes.push().key] = { name: 'Debit Card', icon: '0' }; 
updates[refTypes.push().key] = { name: 'Investment', icon: '0' }; 
updates[refTypes.push().key] = { name: 'Brokerage', icon: '0' }; 
refTypes.update(updates); 

注意,這將很難保存任何時間/帶寬,因爲the Firebase client pipelines requests

+0

一如既往,你是最棒的。謝謝弗蘭克! –