Firebase查询可以按计数/偏移量获取项目吗?

时间:2016-03-31 18:29:17

标签: android ios firebase firebase-realtime-database

在Firebase中是否有办法我们可以按计数指定查询。

例如,如果节点下的记录总数为100,并且我不想仅在一个查询中检索100。我可以说先回10,然后回10,依此类推。

我知道Firebase提供了limitToFirst()和limitToLast()等查询,但它不会解决上面定义的用例。

如果有人对此有任何想法,请告诉我。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,不幸的是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) {

        }
    });
}