Firebase - 如何更新许多孩子而不删除AngularFire中的其他孩子

Bar*_*k S 4 angularjs firebase angularfire

我想在firebase ref上使用update()来在一次操作中更新许多子节点.为此,我传递了带有值的对象进行更改.

这是console.log的输出(angular.toJson(change,1))

{
  "10": {
    "otherRubies": 30
  },
  "11": {
    "otherRubies": 30
  }
} 
Run Code Online (Sandbox Code Playgroud)

一开始我有:

在此输入图像描述 然后我做:

var refUsers = new Firebase(FBURL).child('users/');
refUsers.update(change);
Run Code Online (Sandbox Code Playgroud)

所以我希望:

在此输入图像描述

但不是我得到:

在此输入图像描述

有没有办法做到这一点?

Kat*_*ato 5

更新不是递归操作.所以它在子路径上调用set.如果你在users /上调用update,你说不要删除user /下不在我的数据中的任何键,当你想说,不要删除user /的子记录中的任何键.

相反,迭代记录并调用每个记录的更新:

var refUsers = new Firebase(FBURL).child('users/');
for(key in change) { 
   if( change.hasOwnProperty(key) ) {
      refUsers.child(key).update( change[key] );
   }
}
Run Code Online (Sandbox Code Playgroud)