Android SQL查询到Firebase查询

Android SQL查询到Firebase查询,android,sql,firebase,Android,Sql,Firebase,我要应用的SQL查询是: SELECT time FROM Appointment WHERE date = "3/15/2019" AND time = "9:00AM" 但我不知道如何在Firebase中翻译它。我正在Android Studio中使用Firebase。我的目标是防止日期和时间重复,因为我正在开发的应用程序是一个在线约会 数据库: Appointment angelcrist aptype: "Objective(Computerized)"

我要应用的SQL查询是:

SELECT time FROM Appointment WHERE date = "3/15/2019" AND time = "9:00AM"
但我不知道如何在Firebase中翻译它。我正在Android Studio中使用Firebase。我的目标是防止日期和时间重复,因为我正在开发的应用程序是一个在线约会

数据库:

Appointment
    angelcrist
        aptype: "Objective(Computerized)"
        date: "3/15/2019"
        name: "Hephep Horray"
        time: "9:00AM"
    miriammejia
        aptype: "Objective(Computerized)"
        date: "3/5/2019"
        name: "Romz Ysmael"
        time: "9:00AM"

首先使用下面的查询获取该特定日期的约会数据,然后遍历dataSnapshot childrens以检查您是否有该日期的可用时间

reference.orderByChild('date').equalTo("<yourDate>")
.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot snap: dataSnapshot.getChildren()) {
               //Check for time here
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
});
reference.orderByChild('date').equalTo(“”)
.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot快照:DataSnapshot.getChildren()){
//在这里查一下时间
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});

首先使用下面的查询获取该特定日期的约会数据,然后遍历dataSnapshot childrens以检查您是否有该日期的可用时间

reference.orderByChild('date').equalTo("<yourDate>")
.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for(DataSnapshot snap: dataSnapshot.getChildren()) {
               //Check for time here
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
});
reference.orderByChild('date').equalTo(“”)
.addValueEventListener(新的ValueEventListener(){
@凌驾
公共void onDataChange(DataSnapshot DataSnapshot){
对于(DataSnapshot快照:DataSnapshot.getChildren()){
//在这里查一下时间
}
}
@凌驾
已取消的公共void(DatabaseError DatabaseError){
}
});

使用Firebase实时数据库无法做到这一点。它不具备在多种情况下执行过滤的能力。如果您有SQL背景,我可以说Firebase中没有“多where子句”。如果要检查多个属性上的匹配项,必须创建一个复合字段,如我在以下帖子中的回答所述:


如果您考虑在某个时间尝试使用,请注意它允许您在多个条件下进行筛选。切换多个where-to调用工作正常。

使用Firebase实时数据库无法做到这一点。它不具备在多种情况下执行过滤的能力。如果您有SQL背景,我可以说Firebase中没有“多where子句”。如果要检查多个属性上的匹配项,必须创建一个复合字段,如我在以下帖子中的回答所述:


如果您考虑在某个时间尝试使用,请注意它允许您在多个条件下进行筛选。切换多个where-to-calls功能非常好。

我已经这样做了。问题是,它获得了所有的时间值。但我还是会再试一次。谢谢我已经这么做了。问题是,它获得了所有的时间值。但我还是会再试一次。谢谢哦……我也是这么想的;firebase的查询限制。但无论如何,谢谢。我要试试云火店……不客气!我也建议你试试云火商店。如果你认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️) 在左边的箭头下。应该改变绿色。谢谢。哦……我也是这么想的。FireBasic的查询限制。不过,谢谢。我会试试云火商店。不客气!我也建议你试试云火商店。如果你认为我的答案对你有帮助,请考虑接受它。通过单击复选标记(✔️) 在投票箭头下方的左侧。应将颜色更改为绿色。我将不胜感激。谢谢!可能重复的可能重复的