Javascript 如何通过某个键值将Angularfire2 remove()删除

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

我试图删除特定线程orderBysomekey(sid)值的注释

假设我想删除
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();
    });
})