Firestore集合查询

时间:2019-01-27 20:19:11

标签: google-cloud-firestore

我有馆藏ID列表。有什么办法可以查询和获取这些集合ID下的所有文档?而不迭代列表中的每个ID。 enter image description here

谢谢您的时间

1 个答案:

答案 0 :(得分:1)

根据您最近的评论,我了解到您希望将所有文档都放在一个集合中,而不要查询多个集合,这在Firestore中暂时是不可能的。

如果有ID列表,则只需对其进行迭代,并为列表中的每个ID创建相应的DocumentReference,然后将所有这些引用添加到List<DocumentReference>中。之后,遍历新列表,并为每个引用创建一个Task,然后将所有这些Tasks对象添加到List<Task<DocumentSnapshot>>

最后,只需将任务列表传递给任务的whenAllSuccess()方法:

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) {
            YourObject yb = ((DocumentSnapshot) object).toObject(YourObject.class);
            Log.d("TAG", yb.getPropertyName);
        }
    }
});

在代码中,这似乎是我从这篇文章中得到的答案: