Firebase查询删除所有元素

时间:2017-07-27 01:33:34

标签: javascript firebase firebase-realtime-database

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

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

此查询正在删除所有用户,而不仅仅是前3个。

请帮忙吗?

1 个答案:

答案 0 :(得分:3)

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

您需要迭代快照中的元素并在每个元素的ref上调用remove

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