首页 > 解决方案 > 为什么 Firestore DocumentSnapshot 数据大小始终为零?

问题描述

我有一个 Firestore 数据库,我试图通过 Android API 查询一些用户信息,但它似乎没有返回结果。

我的数据库的结构如下所示:

/users/test_user/test_sub_collection/randomDocId

(主集合 -> 文档 -> 子集合 -> 文档)

这是Java代码:

FirebaseFirestore.getInstance()
        .collection("users")
        .document("test_user")
        .collection("test_sub_collection")
        .get()
        .addOnCompleteListener(task -> {
                if (task.isSuccessful()) {
                    List<DocumentSnapshot> documents = task.getResult().getDocuments();
                    for (DocumentSnapshot doc: documents) {
                        if (doc.exists()) {
                            // And here lies the problem. The getData size is always zero, 
                            // doesn't matter how many fields and subcollections 
                            // I keep adding to the randomDocId.
                            doc.getData();
                        }
                    }
                }
        });

所以总而言之,doc.getData().size()总是返回 0,即使doc.getId()返回正确的 id (randomDocId)。randomDocId 也有一个字段和子集合。

老实说,我不知道我做错了什么。

标签: javaandroiddatabasegoogle-cloud-firestore

解决方案


推荐阅读