Javascript 如何通过某个键值将Angularfire2 remove()删除
我试图删除特定线程orderBysomekey(sid)值的注释 假设我想删除Javascript 如何通过某个键值将Angularfire2 remove()删除,javascript,firebase,firebase-realtime-database,angularfire2,Javascript,Firebase,Firebase Realtime Database,Angularfire2,我试图删除特定线程orderBysomekey(sid)值的注释 假设我想删除sid:“c08239a29827946f932f73c9a1d495a” 我尝试过这个,但不幸的是它删除了所有的eComments数据库 const commentList = this.af.database.list('/eComments', { query: { orderByChild: 'sid', equalTo: sid } }); co
sid:“c08239a29827946f932f73c9a1d495a”
我尝试过这个,但不幸的是它删除了所有的eComments数据库
const commentList = this.af.database.list('/eComments', {
query: {
orderByChild: 'sid',
equalTo: sid
}
});
commentList.remove();
无论如何,我可以按键值删除?这是一种方法:
const commentList = this.af.database.list('/eComments', {
preserveSnapshot: true,
query: {
orderByChild: 'sid',
equalTo: sid
}
});
commentList.subscribe(snapshots=>{
snapshots.forEach(snapshot => {
snapshot.ref.remove();
});
})
我不是AngularFire2专家,因此可能有更简单/更惯用的方法。很好用!谢谢。我用的方法和你展示的差不多。但一旦我用这种方式删除,我就不能再添加相同的项目了不明白我到底做错了什么:(
const commentList = this.af.database.list('/eComments', {
preserveSnapshot: true,
query: {
orderByChild: 'sid',
equalTo: sid
}
});
commentList.subscribe(snapshots=>{
snapshots.forEach(snapshot => {
snapshot.ref.remove();
});
})