Firebase查询按创建时间过滤,日期大于现在

sch*_*dim 0 android firebase firebase-realtime-database

我是Firebase的新手,我正在尝试用它创建一个应用程序.

我的应用程序包含在特定时间创建的帖子,它们包含特定时间.

我按以下方式存储我的数据:

"posts" : {
    "postid1" : {
      "author" : {
        "full_name" : "author1",
        "uid" : "idauthor1"
      },
      "date" : 1474455840809,
      "description" : "",
      "title" : "Test 1"
    },
    "postid2" : {
      "author" : {
        "full_name" : "author1",
        "uid" : "idauthor1"
      },
      "date" : 1480424400622,
      "description" : "",
      "title" : "Test 2"
    }
}
Run Code Online (Sandbox Code Playgroud)

postID是自动生成的,因此应足以按创建时间排序,但我也想排除日期过去的那些(现在).

有谁知道我怎么能/应该这样做?

Bor*_*rja 9

我想你用"ServerValue.Timestamp"保存日期.

我认为你想要实现的是不可能直接的,因为你应该将日期(今天)作为参数传递,并且你不能放置ServerValue.Timestamp.

我要做的是以这种方式查询所有帖子: ref.orderByChild("date")

然后在客户端进行过滤.

编辑 这应该工作.(它返回今天,当地时间之后的日期)

query.orderByChild("date").startAt(new DateTime().getMillis())
Run Code Online (Sandbox Code Playgroud)

然后你应该在客户端按键排序