Firebase如何向所有孩子添加新数据

时间:2016-07-08 08:48:53

标签: javascript firebase firebase-realtime-database

我的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+,则可能存在问题。

感谢并抱歉语法。

1 个答案:

答案 0 :(得分: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)
});

希望它有所帮助;)