我希望基于包含userId的列表过滤文档,这些userId是我希望访问的文档中的字段。 this的问题类似,但我没有列出文档参考,而是有一个字段项目列表。
目前,我所拥有的只是该馆藏中所有文档的展示:
Query posts = db.collection("posts");
FirestoreRecyclerOptions<Post> options = new FirestoreRecyclerOptions.Builder<Post>()
.setQuery(posts, Post.class)
.build();
adapter = new FirestoreRecyclerAdapter<Post, PostViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull PostViewHolder postViewHolder, int position, @NonNull Post post) {
postViewHolder.setPost(post);
}
@NonNull
@Override
public PostViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_view_layout, parent, false);
return new PostViewHolder(view);
}
};
recyclerView.setAdapter(adapter);
我希望输出为列表中包含userId字段的所有帖子。
换句话说,我知道我可以查询具有特定字段的所有文档,但是可以查询所有适合字段列表的文档吗?
答案 0 :(得分:1)
当前不可能使一个查询返回现有列表中存在的所有文档。这意味着您将无法使用FirestoreRecyclerAdapter填充RecyclerView,因为它只能使用单个Query对象。相反,您将必须查询要显示的每个文档,将结果收集到内存中,并使用其他类型的适配器填充视图。