2017-07-27 117 views
1

我想查询使用Firebase过滤器的数据,然后我想只删除该查询的结果,但我不知道为什么要从该ref中删除所有元素。Firebase查询删除所有元素

var ref = firebase.database().ref('users'); 
ref.orderByChild('timestamp').limitToFirst(3).once('value', (snapshot) => { 
    snapshot.ref.remove() 
}); 

此查询删除所有的用户,不仅是第3

任何帮助,请?

回答

2

快照的ref属性指向'users' - 查询前3个元素的位置。在该ref上调用remove将删除所有元素,因为查询对remove调用没有影响。

您需要遍历快照中的元素和每个元素的裁判叫remove

var ref = firebase.database().ref('users'); 
ref.orderByChild('timestamp') 
    .limitToFirst(3) 
    .once('value', snapshot => snapshot.forEach(child => child.ref.remove()));