hi有一个firebase节点,每个孩子都设置了日期。在我的查询中,我想删除过去发生的所有事件。
firebase
workouts
-{key}
- title:"My Workout"
- date: "2017-04-1T10:30:27.250Z"
-{key2}
- title:"The Workout"
- date: "2017-05-1T12:00:27.250Z"
js(ionic2,angularfire2(
this.allEvents = this.af.database.list('/events', {
query: {
orderByChild: 'date'
}
});
您要结束.endat(endtime(以限制查询
来自Firebase文档。https://firebase.google.com/docs/database/admin/retrieve-data#range-queries
var ref = db.ref("workouts");
ref.orderByChild("date").endAt(endTime).on("child_added", function(snapshot) {
console.log(snapshot.key);
});
然后,您将循环浏览列表并删除每个
- 遍历数组,并将当前日期与过去日期进行比较。
- 如果这是过去发生的事件,请删除它。来自Angularfire文档:
$ remove(recordorIndex(
从数据库和本地数组中删除记录。这 方法返回了在删除记录后解决的承诺 服务器。它将包含对已删除的火箱引用 记录。它接受数组索引或对项目的引用 该数组中存在。
var list = $firebaseArray(ref);
var item = list[2];
list.$remove(item).then(function(ref) {
ref.key === item.$id; // true
});