Как читать / обновлять значения, хранящиеся внутри карты, которая затем находится внутри массива в Cloud Firestore?

1

Для начала я новичок в Firestore и программировании Android.

У меня есть коллекция, в которой хранятся документы, каждый документ содержит массив семестров, внутри массива семестров будет массив карт, представляющих каждый семестр. Внутри отдельных карт семестра будет числовое поле, идентифицирующее семестр, а также другой массив, называемый "Студенты", где он будет содержать массив карт, где каждая карта будет представлять каждого студента и хранить три разных поля: ID студента, DaysPresent, Total,

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

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

Одним из ключевых моментов является то, что общее число всегда будет одинаковым для каждой отдельной карты, что означает каждого отдельного студента.

Изображение 174551

Теги:
object
arrays
google-cloud-firestore

1 ответ

1

Если вы собираетесь получить List<Semester> или List<Student> при запросе базы данных Cloud Firestore, обратите внимание, что в настоящее время это невозможно. Даже если эти объекты имеют тип Semester и Student, вы не сможете отобразить их в список объектов Semester/Student. Чтобы решить эту проблему, вам нужно написать код для итерации этих объектов, чтобы вы могли преобразовать их из List<Map> в List<Semester> и List<Student>. Таким образом, вы должны применить свою собственную логику для этого.

Редактировать:

Тип объекта, который возвращается при вызове:

document.getData();

Является ли Map<String Object>, поэтому вам нужно перебирать карту в соответствии с вашей логикой и получать данные по мере необходимости.

  • 0
    не могли бы вы уточнить этот аспект кодирования? Я новичок, и мне очень нужна помощь по этому вопросу.
  • 0
    Пожалуйста, смотрите мой обновленный ответ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню