答案 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);
}
}
});
在代码中,这似乎是我从这篇文章中得到的答案: