Angularfire2 更新所有 children 个节点
Angularfire2 update all children nodes
在 Firebase 中,我有这个数据库
miodb
我想更新所有children节点(例如67-68的children节点),设置键'status'为'read'。
这就是我获取项目列表的方式
this.listaquery = db.list('https://xxxxxxxx.firebaseio.com/chat/'+this.navParams .get('chatRoom'),{
query: {
orderByChild: 'id',
equalTo: this.navParams .get('id2')
}
});
}
我知道这是更新 child
的代码
this.listaquery.update('-KnFI98Lnm-BYXxR_zoY',{status:'read'});
但是如果我想用一个命令更新所有 children 呢?
我找到了这个解决方案(我不知道它是否是最好的)
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())
*/
});
})
在 Firebase 中,我有这个数据库
miodb
我想更新所有children节点(例如67-68的children节点),设置键'status'为'read'。
这就是我获取项目列表的方式
this.listaquery = db.list('https://xxxxxxxx.firebaseio.com/chat/'+this.navParams .get('chatRoom'),{
query: {
orderByChild: 'id',
equalTo: this.navParams .get('id2')
}
});
}
我知道这是更新 child
的代码this.listaquery.update('-KnFI98Lnm-BYXxR_zoY',{status:'read'});
但是如果我想用一个命令更新所有 children 呢?
我找到了这个解决方案(我不知道它是否是最好的)
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())
*/
});
})