java - 遍历子集合以获取字段 - Firestore Android
问题描述
每个Notification ID
集合只包含一个文档,我想迭代所有集合ToseefShop1
并获取相应的文档名称和字段数据。
数据模型:
dbRef.collection("Shop Notifications")
.document("ToseefShop1")
.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot querySnapshot) {
// Dont know what to do
}
});
这不是一个重复的问题。另一个问题(有人建议重复)是关于 javascript 的,答案是针对 Node.js 的。没有接受任何答案。事实上,我在 firestore Java 中找不到 getcollections() 方法。
解决方案
Firestore 中无法查询文档以获取其下的子集合。为了获得您要求的文档名称和字段数据,首先您需要拥有子集合的名称,然后在参考中使用它们。如果您只有 2 个子集合,我建议您使用以下代码:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
Query firstQuery = rootRef
.collection("Shop Notifications")
.document("ToseefShop1")
.collection("Notification ID:0");
Query secondQuery = rootRef
.collection("Shop Notifications")
.document("ToseefShop1")
.collection("Notification ID:1");
Task firstTask = firstQuery.get();
Task secondTask = secondQuery.get();
Task combinedTask = Tasks.whenAllSuccess(firstTask, secondTask).addOnSuccessListener(new OnSuccessListener<List<Object>>() {
@Override
public void onSuccess(List<Object> list) {
//Do what you need to do with your list
}
});
推荐阅读
- r - 有没有办法使代码/注释中的超链接不可点击?
- spring-boot - RedisCustomConversions 使用 Redis 存储库
- python - python:用另一种实现模拟一个类
- javascript - 使用localStorage刷新页面后如何保持按钮切换?
- python - 在多索引熊猫数据帧上应用函数
- laravel - laravel:检查我的数据库中的现有记录
- git - 删除最高级别的 git 存储库,保留较低级别
- blender - 在完成的搅拌机绘图上更改场景单位
- flask-sqlalchemy - 无法为我的视图创建模型,缺少属性“c”
- python - 发送多行以使用 pandas