Firebase按日期筛选

时间:2019-01-13 17:40:26

标签: javascript firebase firebase-realtime-database

我的数据:

Data

我正在寻找一种使用自定义日期范围过滤日期的方法。       我在网上看到了一些查询日期的示例,       但是时间戳始终是关键,在我看来,这是不可能的。        我已经尝试了下面的代码,但是没有用。

public class program45{
    public static void main(String args[]){
        int count1=0,num1=0;
        for (int num=1; num<=1000; num++ ){
            int count=0
            for(int facnum=1; facnum<=num; facnum++){
                if(num%facnum==0){
                    count++;
                }
            }
            if(count>count1){
                num1=num;
                count1=count;
            }
        }
        System.out.println(num1+" has the most factors");
        System.out.print("they are ");
        for(int facnum1=1; facnum1<=num1; facnum1++){
            if (num1%facnum1==0){
                System.out.print(facnum1+", ");
            }
        }
    }
}

这似乎不起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您正在尝试按日期值进行过滤,但您按type进行排序,这不是Firebase数据库查询的工作方式:您总是先对属性/值进行排序,然后再对同一属性/进行过滤值。

因此要在regdate上订购/过滤:

firebase.database().ref().child("Users").orderByChild('regdate')
  .startAt("2019-01-05").endAt("2019-01-10");

请注意,我也将endat更改为endAt(大写的A)。您拥有的endat将给出语法错误。


您现在以2019-01-10结尾。由于您的实际值包含一个时间,因此它们都将落在该值之后。如果您还想包括自己在2019-01-10上注册的用户,请使用:

firebase.database().ref().child("Users").orderByChild('regdate')
  .startAt("2019-01-05").endAt("2019-01-10 23:59:59");