Как мы можем отсортировать данные Firebase Firestore по TimeStamp dataType, используя Angular? - PullRequest
0 голосов
/ 06 января 2019

У меня есть веб-приложение для публикации билетов, и я буду показывать только те билеты, которые активны и с записями за 24 часа (с этого момента).

Я использую Firebase Cloud Firestore с Angular 7 .

 getTicketList(){
 this.ticketData = 
 this.fireStore.collection('ticket').doc("paid").collection("ticket-list", 
 ref =>
 ref.where('status', '==', 
  "active").where("paid","==","false").orderBy("myTimeStamp");
 return this.ticketData.snapshotChanges() ;
 }

У нас есть ключ "myTimestamp", который имеет тип Firestore Timestamp .

хочет показать только те записи, которые активны и в настоящее время имеют время, чтобы забронировать.

Ниже я упомянул коды, которые я использую для получения сервиса Firebase.

 this.firestore.getTicketList().subscribe(list => {
  this.ticketList = list.map(item => {
    return { id:item.payload.doc.id,
      ...item.payload.doc.data()}
  })
  console.log(this.ticketList);
});

Спасибо

Отредактировано

enter image description here enter image description here

1 Ответ

0 голосов
/ 06 января 2019

Вы можете выполнить запрос к полю данных / отметки времени, передав объект Date. Так, например, чтобы получить все предметы раньше, чем сейчас:

ref
  .where('status', '==', "active")
  .where("paid","==","false")
  .where("myTimeStamp","<", new Date())
  .orderBy("myTimeStamp")
...