我正在尝试以下代码:
Query query = FirebaseDatabase.getInstance().getReference("Current Location")
.orderByChild("email_id").equalTo("pratiksiddhapura11@gmail.com")
.orderByChild("date").equalTo("2019/11/18");
但是这对我不起作用,并给出如下错误:-
我想要用户数据,其中email_id =“ pratiksiddhapura11@gmail.com”和日期=“ 2019/11/18”
还有其他解决方案吗?
对于Android(JAVA)
答案 0 :(得分:0)
Firebase不支持多个orderBy调用。您可以在服务器端应用一个过滤器,在客户端应用另一个。
检查以下实现:在这里,我在服务器端使用了email_id
,在客户端使用了date
来过滤数据。希望对您有帮助。
Query query = FirebaseDatabase.getInstance().getReference("Current Location").orderByChild("email_id").equalTo("pratiksiddhapura11@gmail.com");
query.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for(DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
YourModel yourModel = childSnapshot.getValue(YourModel.class);
if(yourModel.getDate().equalsIgnoreCase("2019/11/18")) {
// Here is your desired location
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});