【问题标题】:Querying Firebase based on ServerValue.TIMESTAMP基于 ServerValue.TIMESTAMP 查询 Firebase
【发布时间】:2017-05-15 21:37:13
【问题描述】:

我有一个 FireBase 后端,它有一个类似这样的时间戳...有许多这样的节点是已推送的对象。

每个节点都有一个使用 ServerValue.TIMESTAMP 设置的时间戳。

在数据模型类中设置服务器时间

private HashMap<String, Object> timestampCreated;

//set time stamp in constructor when new obj is created
public DataModel(...){
 // TIME STAMP
    HashMap<String, Object> timestampCreatedObj = new HashMap<String, Object>();
    timestampCreatedObj.put("date", ServerValue.TIMESTAMP);
    this.timestampCreated = timestampCreatedObj;
}

//getting timestamp

   public HashMap<String, Object> getTimestampCreated(){
    return timestampCreated;
}

@Exclude
public long getTimestampCreatedLong(){
    return (long)timestampCreated.get("date");
}

以上所有内容都可以很好地插入数据库,我可以检索时间。

在另一个类中,我想在 FirebaseListAdapter 上设置查询 设置查询让我们说显示最近 5 天的项目。

  long daysInpast= new Date().getTime() - TimeUnit.MILLISECONDS.convert(5, TimeUnit.DAYS);

然后我设置查询

        Query queryDays= mDatabaseQuery.child("timestampCreated").orderByChild("date").endAt(daysInpast);

final FirebaseListAdapter<myData> adapterQuery = new FirebaseListAdapter<myData>
                (getActivity(), myData.class, R.layout.list_item, queryDays) {//do stuff}

我不确定我的查询,我的列表返回空,如果我只使用我的 FirebaseListAdapter 而没有通过数据库引用的查询,我的列表将按预期填充。我怀疑它的数据是如何布局的?事实上,我的时间抽头位于子节点中,这是个问题吗?

我尝试过使用

Query queryDays= mDatabaseQuery.orderByChild("date").endAt(daysInpast);

也不过没用

任何帮助表示赞赏

【问题讨论】:

    标签: android firebase firebase-realtime-database firebaseui


    【解决方案1】:

    您需要在您想要返回的孩子上方的位置上运行查询,该位置看起来是您数据库的根(请不要发布带有模糊文本的图片,下次将实际的 JSON 发布为文本) .

    如果您确实需要数据库根目录下的级别,您可以使用以下方式查询日期:

    DatabaseReference root = FirebaseDatabase.getInstance().getReference();
    Query query = root.orderByChild("timestampCreated/date").endAt(daysInPast);
    

    【讨论】:

    • 谢谢,这正是我需要的,现在正在工作,关于图像的道歉,将来会发布 JSON。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 2019-04-30
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2020-03-30
    相关资源
    最近更新 更多