首页 > 解决方案 > 通过 documentID 获取多个特定的 FireStore 文档

问题描述

我有一个文档 ID 数组。而且我只想检索 ID 存在于数组中的文档。我想在回收视图中显示它们。

例子:

["rRfuYlrGgLClZui4LmbN", "dKKEdAXHrRSQ7UzvasWQ", "AL5t6DHbLfAmleaO4WCk"]

如果上面是我的数组元素,那么如何只获取这些文档?

标签: javaandroidgoogle-cloud-firestoredocument

解决方案


您可以遍历每个文档 ID 并根据需要检索它们,每个请求都返回一个Task<Snapshot>.

List<Task<DocumentSnapshot>> tasks = new ArrayList<>();
for (String doc : list_of_Friends) {
    tasks.add(FirebaseFirestore.getInstance().collection("MyCollection").document(doc).get());
}

Tasks.whenAllSuccess(tasks).addOnSuccessListener(new OnSuccessListener<List<Object>>() {
    @Override
    public void onSuccess(List<Object> list) {
        //Do what you need to do with your list
        for (Object object : list) {
           customClass data = ((DocumentSnapshot) object).toObject(customClass.class);
        }
    }
});

推荐阅读