2017-08-03 73 views
0

在火力地堡,我有这个DBAngularfire2更新所有的子节点

miodb

我想更新所有的子节点(例如67-68的子节点),设置键“状态”读书'。

所以我这是怎么得到物品清单

this.listaquery = db.list('https://xxxxxxxx.firebaseio.com/chat/'+this.navParams .get('chatRoom'),{ 
      query: { 
       orderByChild: 'id', 
       equalTo: this.navParams .get('id2') 
      } 
     }); 
     } 

而且我知道这是更新一个孩子

this.listaquery.update('-KnFI98Lnm-BYXxR_zoY',{status:'read'}); 

的代码,但如果我想更新所有用一个命令孩子?

回答

0

我发现这个解决方案(我不知道这是否是最好的一个)

this.listaquery = db.list('https://delega-facile.firebaseio.com/chat/'+this.navParams .get('chatRoom'),{ 
    query: { 
     orderByChild: 'id', 
     equalTo: this.navParams .get('id1') 
    }, 
    preserveSnapshot: true 
}); 


this.listaquery 
      .subscribe(snapshots => { 
       snapshots.forEach(snapshot => { 
        this.listaquery.update(snapshot.key,{status :'read'}); 
        /* 
        console.log(snapshot.key) 
        console.log(snapshot.val()) 
        */ 
       }); 
      })