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

Posted

技术标签:

【中文标题】Firebase如何向所有孩子添加新数据【英文标题】:Firebase how to add new data to all child 【发布时间】: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. 为什么不呢?这几乎是您唯一的选择,无论您是显式编写还是使用内部循环的方法。 【参考方案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)
);

希望对你有帮助;)

【讨论】:

谢谢。它有帮助:)

以上是关于Firebase如何向所有孩子添加新数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在firebase数据库中获取所有孩子的数据?

向 Firebase 实时数据库添加新值时如何保存当前日期/时间

Swift 3.0 如何在 Firebase 中的父级上添加子级

Firebase 数据比较 swift

在 swift firebase 中添加新孩子后填充数组

向 Firebase 用户添加新数据