java - 有没有办法从android的firestore中的数组中获取数据
解决方案
正如我在您的数据库架构中看到的,您的user_stories
属性是数组类型。这意味着,当您尝试获取该文档时,您将获得该属性作为List
对象而不是数组。不幸的是,Firestore 无法将该列表转换为自定义对象列表,您必须自己完成。所以请试试这个:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference sendStoriesRef = rootRef.collection("sendstories");
sendStoriesRef.document("kueIJcdQARzEKU7EVio9").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
List<Map<String, Object>> list = (List<Map<String, Object>>) document.get("user_stories");
//Iterate through the list to get the desired values
}
}
}
});
现在只需遍历列表即可获得所需的值。如果kueIJcdQARzEKU7EVio9
是uid
用户的,而不是简单地用这个改变那个值uid
:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
推荐阅读
- android - Android HERE SDK lite:将此处徽标放置到另一个位置
- java - 如果计步器传感器不可用,如何在 Android Studio 中实现计步器
- vb.net - 2个程序之间的交互
- c# - 在 WinDBG/SOS.DLL 中:如何一次将 !DumpDomain 列出的所有模块/程序集保存到磁盘?
- javascript - 如何添加两个javascript对象
- python - 使用集合论在 Python 中查找形状区域
- unity3d - 为什么场景摄像机在播放时会改变位置和旋转
- html - 在 Shiny 中使用 renderDataTable 扩展列的宽度
- reactjs - React / Redux为什么不是按调用顺序触发的thunk
- python - 正则表达式 - 计算最大数量的短串联重复