Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何读取/更新存储在映射中的值,该映射随后位于Cloud Firestore中的数组中?_Java_Android_Arrays_Object_Google Cloud Firestore - Fatal编程技术网

Java 如何读取/更新存储在映射中的值,该映射随后位于Cloud Firestore中的数组中?

Java 如何读取/更新存储在映射中的值,该映射随后位于Cloud Firestore中的数组中?,java,android,arrays,object,google-cloud-firestore,Java,Android,Arrays,Object,Google Cloud Firestore,首先,我是Firestore和Android编程的新手 我有一个存储文档的集合,每个文档包含一个学期数组,在学期数组中有一个表示每个学期的地图数组。在各个学期地图中,将有一个数字字段标识学期,还有另一个名为Students的数组,其中包含一个地图数组,每个地图将代表每个学生,并存储三个不同的字段:学生ID、DaysPresent、Total 我试图找到一种方法来读取ID代表的每个学生的数据,这种方法考虑了学期数 例如,如果用户选择第1学期,它将进入数组学期,然后从表示第1学期的第一个数组中加载值

首先,我是Firestore和Android编程的新手

我有一个存储文档的集合,每个文档包含一个学期数组,在学期数组中有一个表示每个学期的地图数组。在各个学期地图中,将有一个数字字段标识学期,还有另一个名为Students的数组,其中包含一个地图数组,每个地图将代表每个学生,并存储三个不同的字段:学生ID、DaysPresent、Total

我试图找到一种方法来读取ID代表的每个学生的数据,这种方法考虑了学期数

例如,如果用户选择第1学期,它将进入数组学期,然后从表示第1学期的第一个数组中加载值,然后它将显示表示每个学生的所有地图,其中当前天数和总数可由用户修改和读取

一个关键点是,每个地图的总数量始终是相同的,这意味着每个学生


编辑:2020年3月26日:

实际上,可以使用以下文章中的解决方案:


如果您打算在查询您的Cloud Firestore数据库时获取
列表
列表
,请注意,这目前是不可能的。即使这些对象的类型为
学期
学生
,也无法将它们映射到学期/学生对象列表中。要解决这个问题,您需要编写代码来迭代这些对象,以便将它们从
列表
转换为
列表
列表
。所以你需要运用你自己的逻辑

编辑:

调用时返回的对象类型:

document.getData();

是一个
映射
,因此您需要根据您的逻辑迭代映射,并根据需要获取数据。

您能否详细说明此映射的编码方面?我是个新手,在这个问题上我非常需要帮助。