Java 如何读取/更新存储在映射中的值,该映射随后位于Cloud Firestore中的数组中?
首先,我是Firestore和Android编程的新手 我有一个存储文档的集合,每个文档包含一个学期数组,在学期数组中有一个表示每个学期的地图数组。在各个学期地图中,将有一个数字字段标识学期,还有另一个名为Students的数组,其中包含一个地图数组,每个地图将代表每个学生,并存储三个不同的字段:学生ID、DaysPresent、Total 我试图找到一种方法来读取ID代表的每个学生的数据,这种方法考虑了学期数 例如,如果用户选择第1学期,它将进入数组学期,然后从表示第1学期的第一个数组中加载值,然后它将显示表示每个学生的所有地图,其中当前天数和总数可由用户修改和读取 一个关键点是,每个地图的总数量始终是相同的,这意味着每个学生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学期的第一个数组中加载值
编辑:2020年3月26日: 实际上,可以使用以下文章中的解决方案:
如果您打算在查询您的Cloud Firestore数据库时获取
列表
或列表
,请注意,这目前是不可能的。即使这些对象的类型为学期
和学生
,也无法将它们映射到学期/学生对象列表中。要解决这个问题,您需要编写代码来迭代这些对象,以便将它们从列表
转换为列表
和列表
。所以你需要运用你自己的逻辑
编辑:
调用时返回的对象类型:
document.getData();
是一个
映射
,因此您需要根据您的逻辑迭代映射,并根据需要获取数据。您能否详细说明此映射的编码方面?我是个新手,在这个问题上我非常需要帮助。