2016-07-08 36 views
1

我的Firebase數據。Firebase如何向所有子女添加新數據

User : { 
    user1 : { 
     name : 1, 
     age : 2 
    }, 
    user2 : { 
     name : 1, 
     age : 2 
    }, 
     .... 
     .... 
     .... 
    user10 : { 
     name : 1, 
     age : 2 
    } 
} 

我需要添加somekey到所有用戶。每個不使用循環。

userxx : { 
     name : 1, 
     age : 2, 
     somekey : 1 
} 

當前代碼:

fb.ref("Users").once('value',function(s){ 
    s.forEach(function(snap){ 
     fb.ref("Users/"+snap.key+"/somekey").set(2); 
    }); 
}); 

如果數據量不大此代碼的工作,如果大量的數據具有用戶100+有可能是一個問題。

感謝和抱歉的語法。

+0

'不使用循環each.'爲什麼不呢?這幾乎是你唯一的選擇,無論你是明確寫入還是使用內部循環的方法。 –

回答

2

監聽器價格便宜:看this

反正在這種情況下,你可以使用多路徑update。這裏有一個例子:

fb.ref("Users").update({ 
    'user1/somekey': 2, 
    'user2/somekey': 2 
}) 

你也許可以改變你的代碼,這樣

fb.ref("Users").once('value',function(s){ 
    var users = s.val() 
    var newUsers = {} 
    for(var key in users) { 
     newUsers[key+'somekey'] = 2 
    } 
    fb.ref("Users").update(newUsers) 
}); 

希望它幫助;)

+1

謝謝。它有助於 :) – Empty

相關問題