具有两次orderByChild条件的Firebase查询

时间:2018-04-12 07:27:37

标签: android firebase firebase-realtime-database

我遇到了问题:

我想使用orderByChild()条件的两倍

创建一个firebase查询

第一个条件:比较字段

第二个条件:按特定字段对元素进行排序。

这是我要做的查询示例:

ref.orderByChild("id").equalTo("1").orderByChild("name").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
    for (DataSnapshot d : dataSnapshot.getChildren()) {
        Model m = d.getValue(Model.class);
    }
}

@Override
public void onCancelled(FirebaseError firebaseError) {

    }
});

如果我尝试使用此查询,则应用程序会崩溃。可以在Firebase中创建这种类型的查询吗?

提前致谢。

2 个答案:

答案 0 :(得分:2)

不能创建这种查询,因为你不能使用两个orderByChild(),以下是可能的:

orderByChild("name").equalTo(name);
orderByKey().equalTo("key_here");
orderByChild("name").limitToFirst(10)

更多信息:

https://firebase.google.com/docs/reference/android/com/google/firebase/database/Query.html

答案 1 :(得分:2)