使用时间戳查询Firebase数据 [英] Query Firebase data using timestamps

查看:79
本文介绍了使用时间戳查询Firebase数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我当前在Firebase上的数据设计(数据只是事件"参考处的json列表).时间戳记,操作和持续时间字段是固定的,以后可能还会添加更多可选字段.

Here is my current data design on Firebase (data is simply a list of jsons at the "events" reference). The fields timestamp, action, and duration are fixed, and there might be more optional fields added later.

backend-7f34e
    events
        -KQ30Lc6lasdfasdfAi1URf
            action: "Get ready"
            duration: 100
            timestamp: 1472167504389

        -KQ30MM8Fgasdf_o10TW
            action: "Run"
            duration: 1890
            timestamp: 1472167507411

我需要能够从时间戳范围[开始,结束]中检索数据.我需要使用时间戳作为密钥吗?有什么更好的数据结构方式?

I need to be able to retrieve data from a timestamp range [start, end]. Do I need to use timestamp as the key? What would be a better way to structure the data?

推荐答案

结合使用OrderByChild和startAt和endAt

Use OrderByChild combined with startAt and endAt

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
DatabaseReference eventsReference = databaseReference.child("events");

Query query = eventsReference.orderByChild("timestamp").startAt(1472167504389);
query.addValueEventListener(new ValueEventListener).....
....

StartAt以 double 作为参数,因此要相应地构造数据.

StartAt takes double as the argument, so structure your data accordingly.

更多信息- https://www.firebase.com/docs /web/api/query/startat.html

这篇关于使用时间戳查询Firebase数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆