按日期过滤Firebase节点



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);
  });

然后,您将循环浏览列表并删除每个

  1. 遍历数组,并将当前日期与过去日期进行比较。
  2. 如果这是过去发生的事件,请删除它。来自Angularfire文档:

$ remove(recordorIndex(

从数据库和本地数组中删除记录。这 方法返回了在删除记录后解决的承诺 服务器。它将包含对已删除的火箱引用 记录。它接受数组索引或对项目的引用 该数组中存在。

var list = $firebaseArray(ref);
var item = list[2];
list.$remove(item).then(function(ref) {
  ref.key === item.$id; // true
});

相关内容

  • 没有找到相关文章

最新更新