【问题标题】:How to order documents by timestamp automatically in firebase?如何在firebase中按时间戳自动排序文档?
【发布时间】:2020-04-09 06:07:44
【问题描述】:

我已经创建了一个应用程序,并且我也在使用 firebase,但我想按时间戳对文档进行排序,以便我的文档将从最近添加的文档排序到旧文档。

不知道有没有办法解决,而不是使用orderBy方法,因为我的项目很大。

请帮帮我。

注意:我正在使用颤振和飞镖开发应用程序。

【问题讨论】:

    标签: firebase flutter firebase-realtime-database dart timestamp


    【解决方案1】:

    Firebase 实时数据库始终按升序返回结果。没有办法降序排列。

    这意味着您有两个常见的选择:

    1. 反转客户端上的节点。
    2. 将反转的值存储在属性中,然后对其进行排序。

    如果您想检索项目的子集,请记住,您可以将这些方法中的任何一种与limitToFirst()limitToLast 结合使用。例如,要获取最近的 10 条消息,您可以:

    1. 时间戳顺序
    2. 获取最后 10 项
    3. 在客户端反转它们

    另见:

    【讨论】:

    • 我按照你上面提到的做了,我创建了一个名为 time 的字段,它等于 DateTime.now() (Dart) 但它根据用户的当前时间排序,所以这个在我的应用程序中造成干扰,尤其是在聊天中
    • 这对我来说听起来像是一个新问题。但是,如果您想要一个不依赖于客户端点击的一致时间戳,请使用ServerValue.timestamp。在此处的文档中阅读有关它的更多信息:firebase.google.com/docs/database/android/…
    猜你喜欢
    • 1970-01-01
    • 2016-10-19
    • 2022-01-19
    • 2014-08-21
    • 1970-01-01
    • 2018-09-21
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多