【问题标题】:Firebase how to add new data to all childFirebase如何向所有孩子添加新数据
【发布时间】:2016-07-08 08:48:53
【问题描述】:

我的 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+ 可能会有问题。

感谢语法,抱歉。

【问题讨论】:

  • not use loop each. 为什么不呢?这几乎是您唯一的选择,无论您是显式编写还是使用内部循环的方法。

标签: javascript firebase firebase-realtime-database


【解决方案1】:

监听器很便宜:见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)
});

希望对你有帮助;)

【讨论】:

  • 谢谢。它有帮助:)
猜你喜欢
  • 1970-01-01
  • 2017-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-17
  • 1970-01-01
  • 2016-12-22
相关资源
最近更新 更多