[英]How to retreive the child Nodes keys only Firebase?
实际上我正在将所有主题的数据提取到 listView
它们是病理学和社会科学。
当我检索密钥时,我得到了结束日期,开始日期也是如此。
我怎样才能得到唯一有像这里病理学和土壤场景这样的节点的孩子。 ?
当您使用 Firebase 检索节点时,它始终检索整个节点。 没有办法得到一个没有子节点的节点,或者(超出查询所能做的)它的子节点的子集。
当您有这种需求时,通常意味着您在一个分支中混合了两种类型的数据。 Firebase 文档建议避免此类数据嵌套。
在您的情况下,我会将数据拆分为两个顶级节点,每个节点的子节点都有相同的键。 就像是:
ExamInfos: {
"-MV8_...": {
"endingDate": ...,
"examType": ...,
"programme": ...,
"startingDate": ...
}
},
ExamSugbjects: {
"-MV8_...": {
"PATHOLOGY": { ... },
"SOIL SCIENCE": { ... }
}
}
现在,您可以通过加载其ExamInfos
子节点来获取考试的所有科目,通过加载其ExamSubjects
子节点来获取所有其他信息,如果需要,您可以同时加载两者。 与许多开发人员最初的预期相反,这不会花费更多时间,因为 Firebase 可以通过其现有的 web 套接字连接对请求进行管道传输。
作为单独的建议,我还考虑以允许更多排序和过滤的格式存储日期。 最常见的格式是 2021 年 3 月 7 日的2021-03-07
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.