首页 > 解决方案 > 无法从 Firestore 获取项目对象列表

问题描述

我有一个看起来像这样的类:

class Items {
    public List<Item> itemList;

    Items(List<Item> itemList) {
        this.itemList = itemList;
    }
}

要将列表添加到 Firestore,我使用:

db.collection("items").add(new Items(itemList));

并生成一个包含Item对象列表的文档。但是,当我尝试取回列表时:

db.collection("items").document(itemId).get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                List<Item> itemList = (List<Item>) document.get("itemList");
            }
        }
    }
});

这是不可能的。为什么反之不行?如何将列表恢复为List<Item>

标签: javaandroidfirebasegoogle-cloud-firestore

解决方案


推荐阅读