我使用firebase分页来限制firebase数据库的下载,但是firebase控制台仍然显示了大量的数据库下载,
DatabaseReference db = FirebaseDatabase.getInstance().getReference().child("Posts").child(country).child(phase);
query = db.orderByChild("random_no").startAt(min).limitToFirst(limit);
FirebaseRecyclerOptions<Photo> options =
new FirebaseRecyclerOptions.Builder<Photo>()
.setQuery(query, Photo.class)
.build();
我希望它在分页之前下载整个数据库。
谁能帮我在不下载整个数据库的情况下进行防火墙分页。
发布于 2022-03-06 16:45:47
如果告诉Firebase数据对其结果进行排序/筛选,它将始终这样做。但是,只有在数据库规则中有定义必要的索引时,它才能在服务器上执行此操作。如果没有找到这样的索引,SDK将下载路径上的所有节点,并在应用程序本身中对它们进行排序/筛选。如果发生这种情况,它还将记录一个警告,并说明要向logcat输出添加什么索引。
因此,您很可能没有在数据库规则中为random_no
为/Posts/$country/$phase
定义索引。
https://stackoverflow.com/questions/71368089
复制相似问题