繁体   English   中英

有没有办法从Android中的Firestore中的数组获取数据

[英]Is there any way to get data from array in firestore in android

我想从user_stories获取数据,例如story和story_startstory end

这是我的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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM