首先,我是 Firestore 和 Android 编程的新手。
我有一个存储文档的集合,每个文档包含一个学期数组,在学期数组中会有一个代表每个学期的 map 数组。在各个学期 map 中,将有一个标识学期的数字字段和另一个名为 Students 的数组,其中包含一个 map 数组,其中每个 map 将代表每个学生并存储三个不同的字段:学生 ID、DaysPresent、Total .
我正在尝试找到一种方法来读取每个由 ID 表示的学生的数据,同时考虑学期编号。
例如,如果用户选择第 1 学期,它将进入数组 Semester,然后从第一个代表第 1 学期的数组中加载值,然后它将显示代表每个学生的所有 map 天数和总数可以由用户修改和读取。
一个关键点是每张 map 的总数始终相同,这意味着每个学生。
最佳答案
编辑: 2020 年 3 月 26 日:
实际上可以使用下面文章中的解决方案:
如果您打算获得 List<Semester>
或 List<Student>
在查询您的 Cloud Firestore 数据库时,请注意目前无法执行此操作。即使这些对象的类型是 Semester
和 Student
,您无法将它们映射到学期/学生对象列表中。要解决这个问题,您需要编写代码来迭代这些对象,以便您可以将它们从 List<Map>
转换为到 List<Semester>
和 List<Student>
.因此,您需要为此应用自己的逻辑。
编辑:
调用时返回的对象类型:
document.getData();
是 Map<String Object>
,所以你需要根据你的逻辑遍历 map ,并根据需要获取数据。
关于java - 如何读取/更新存储在 map 中的值,然后在 Cloud Firestore 中的数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55649314/