2017-08-03 70 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()) 
        */ 
       }); 
      })