Невозможно сохранить данные календаря в FireBase - PullRequest
0 голосов
/ 01 ноября 2018

Я создаю функцию бронирования зала в моем приложении. В этом приложении я хочу сохранить дату и время начала и дату и время окончания бронирования зала. Когда пользователь бронирует зал на целый день, цвет даты должен быть изменен.

Здесь я могу получить данные из календаря, но они не вставляются в базу данных Firebase. Единственные вставляемые данные - это поля UID и allDay. Что я могу сделать, чтобы это исправить?

Вот мой код.

addEvent() {
  let modal = this.modalCtrl.create('EventModalPage', {
    selectedDay: this.selectedDay
  });
  modal.present();
  modal.onDidDismiss(data => {
    if (data) {
      let eventData = data;
      eventData.startTime = new Date(data.startTime);
      eventData.endTime = new Date(data.endTime);

      let events = [];
      events.push(eventData);
      // this.eventSource = [];
      setTimeout(() => {
        this.eventSource = events;
        console.log(this.eventSource);
        let startTime = this.eventSource['0'].startTime;
        let endTime = this.eventSource['0'].endTime;
        let allDay = this.eventSource['0'].allDay;

        console.log(startTime);
        let currentUserUid = this.fire.auth.currentUser.uid;
        firebase.database().ref('bookingHall/').push({
          uID: currentUserUid,
          startTime: startTime,
          endTime: endTime,
          allDay: allDay,

        });
      });
    }
  });
}

1 Ответ

0 голосов
/ 01 ноября 2018

База данных Firebase Realtime хранит только типы JSON. Ваши startTime и endTime являются объектами JavaScript Date, которые не являются допустимыми типами JSON. Чтобы разрешить сохранение дат, сохраняйте метку времени (миллисекунды с начала эпохи) или сортируемое строковое представление (20181101T034027) значения.

Также см .:

...