angularjs – Firebase – 如何在AngularFire中更新许多孩子而不删除其他孩子

前端之家收集整理的这篇文章主要介绍了angularjs – Firebase – 如何在AngularFire中更新许多孩子而不删除其他孩子前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在firebase ref上使用update()来在一次操作中更新许多子节点.
为此,我传递了带有值的对象进行更改.

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

{
  "10": {
    "otherRubies": 30
  },"11": {
    "otherRubies": 30
  }
}

一开始我有:

然后我做:

var refUsers = new Firebase(FBURL).child('users/');
refUsers.update(change);

所以我希望:

但不是我得到:

有没有办法做到这一点?

解决方法

更新不是递归操作.所以它在子路径上调用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] );
   }
}

猜你在找的Angularjs相关文章