在Firebase中有没有一种方法可以按计数指定查询。
例如,如果节点下的记录总数为100,并且我不想在一个查询中检索100。我可以说先给我10,然后再给我10等等吗?
我知道Firebase提供了类似limitToFirst()和limitToLast()的查询,但它不会解决上面定义的用例。
如果有人对此有任何想法,请告诉我。
我遇到了类似的问题,不幸的是firebase不允许这样做。处理此问题的唯一方法是检索所需的所有数据,然后在客户端对其进行排序。
示例:
private void getData() {
List<ModelType> data;
fireBaseRef = new Firebase(FIREBASE_PATH);
Query query = fireBaseRef.child(PATH).orderByChild(CHILD_NAME_PATH);
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
data = new ArrayList<>();
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
ModelType model = snapshot.getValue(ModelType.class);
data.add(model);
// ..
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}