Если вы хотите удалить данные в определенное время c, вам нужно использовать equalTo()
вместо endAt()
, и поскольку вы используете angularFire :
let ref = this.db.list('/Locations', ref => ref.orderByChild('endtime').equalTo(singlemarker.endtime)).snapshotChanges();
Этот запрос должен вернуть узел, содержащий endTime
, равный singlemarker.endtime
. Выше будет возвращаться наблюдаемое, тогда вы можете подписаться:
ref.subscribe(queriedItems => {
console.log(queriedItems);
queriedItems.forEach((ele) => {
console.log(ele.payload.key);
let keys = ele.payload.key;
this.db.object('/Locations/'+keys).remove();
});
});
Использовать snapshotChanges()
, который вернет payload
, который содержит key
, а затем вы можете использовать object()
для ссылки на key
и remove()
для удаления данных.
Таким образом, если singlemarker.endtime
равно Wed Feb 26 2020 14:33:54 GMT+0400 (Gulf Standard Time)
, то приведенный выше запрос вернет:
"-M1-hX8f46ppZmTMNQIk" : {
"endtime" : "Wed Feb 26 2020 14:33:54 GMT+0400 (Gulf Standard Time)",
"starttme" : "Wed Feb 26 2020 12:32:48 GMT+0400 (Gulf Standard Time)",
"waringtype" : "تنبيه جوي",
"weatype" : "رياح"
},