我遇到了问题:
我想使用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中创建这种类型的查询吗?
提前致谢。
答案 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)
firebase不支持多个orderbychild()查询。
查看这些链接以构建数据库。
Android firebase apply multiple queries
Firebase how to set orderByChild more than one