Переход к вложенному массиву в React Native и в Firebase

#javascript #firebase #react-native #google-cloud-firestore

#javascript #firebase #react-native #google-облако-firestore

Вопрос:

Я пытаюсь добавить массив внутри массива в firebase (надеюсь, это правильное определение)

Это состояние, которое я использую для хранения, а затем, в конечном итоге, отправляю его содержимое в Firebase:

   const [monts, setMonts] = useState([
    { id: 1, name: "Jan", check: false, days: [] },
    { id: 2, name: "Feb", check: false, days: [] },
    { id: 3, name: "Mar", check: false, days: [] },
    { id: 4, name: "Apr", check: false, days: [] },
    { id: 5, name: "May", check: false, days: [] },
    { id: 6, name: "Jun", check: false, days: [] },
    { id: 7, name: "Jul", check: false, days: [] },
    { id: 8, name: "Aug", check: false, days: [] },
    { id: 9, name: "Sep", check: false, days: [] },
    { id: 10, name: "Oct", check: false, days: [] },
    { id: 11, name: "Nov", check: false, days: [] },
    { id: 12, name: "Dec", check: false, days: [] },
  ]);
  

Это мой код для переноса дат в Firebase — 100% рабочий

  const curYear = new Date();
    var firstDay = new Date(curYear.getFullYear(), 0, 1);
    const lastDayInMonth = new Date(curYear.getFullYear(), 1, 1);


    const forma = new Date();
    const startTime = "08:00";
    let i = 0;

    for (i = 0; i < 12; i  ) {
        for (
          firstDay;
          firstDay < lastDayInMonth;
          firstDay.setDate(firstDay.getDate()   1)
        ) {
          if (firstDay < lastDayInMonth){
            const formatDate = new Date(firstDay);
            moment.locale("he");
            monts[i].days.push(moment(formatDate).format("L"));
          } 
        }
        lastDayInMonth.setMonth(lastDayInMonth.getMonth()   1); 
    }

    monts.forEach((item) => {
        firebase
          .firestore()
          .collection("users")
          .doc(uid)
          .collection("aviailablty")
          .doc(item.name)
          .set({ item });
    });
  }
  

И это результат в firebase:
Firebase

Красный маркер -> я хочу добавить сюда внутри значения даты (например, 1/1/2020) еще 3 переменные, которые создадут эту сборку: 01/01/2020 Время начала: «» Время окончания: «» статус: «»

все это как одно, как я могу это сделать???

Комментарии:

1. Я не совсем понимаю, чего вы пытаетесь достичь. Пожалуйста, отредактируйте вопрос, чтобы показать желаемый результат, а также код, который вы пробовали, который работает не так, как вы ожидаете.

2. Эй, Дуг, чего я пытаюсь добиться, так это добавить к дате в Firebase (см. Изображение) другие параметры, что означает: как вы можете видеть, что «дни» являются расходными и содержат даты месяца, я пытаюсь добавить к каждой дате другие параметры, поэтому дата тоже будет содержать данные

3. Итак, все, что вы хотите сделать, это добавить еще одну строку в days список? Если это не так, я предлагаю показать скриншот или более подробно описать, как должен выглядеть обновленный документ.