【问题标题】:How to get a query of documents from Firebase, sorting by timestamps?如何从 Firebase 获取文档查询,按时间戳排序?
【发布时间】:2020-07-28 02:24:24
【问题描述】:

在我的应用中,用户可以将包含时间戳的文档上传到 Cloud Firestore。这些文档构成用户文档中的子集合,在应用程序中跟踪他们的日常统计数据。我希望能够使用 collection.orderBy 之类的东西从数据库中检索这些文档的查询。

不过,理想情况下,我希望在多个不同的时间范围之间进行排序。例如,我希望能够对时间戳与 7 月 16 日匹配的所有文档进行排序。有没有办法做到这一点?谢谢。

【问题讨论】:

    标签: java android firebase google-cloud-firestore


    【解决方案1】:

    您可以在时间戳字段中使用range query。您必须提供查询的起点和终点。

    firestore
        .collection("your-collection")
        .whereGreaterThan("timestamp", start)
        .whereLessThan("timestamp", end)
        .orderBy("timestamp")
    

    timestamp 是您的时间戳字段的名称。 startend 必须是 Date 或 Timestamp 对象。如果时间段只有一天,那么您将需要在这一天左右构建开始和结束。在您的具体情况下,7 月 16 日午夜和 7 月 17 日午夜可能是一个很好的界限,但这取决于您。

    【讨论】:

    • 谢谢道格!在您回复之前,我试图说出.whereGreaterThan("timestamp") 之类的内容,然后将某个日期转换为长整数,或者我会尝试使用.whereGreaterThan("timestamp", "July") 之类的内容。感谢您为我澄清这一点(并让我终于休息)
    猜你喜欢
    • 2020-04-09
    • 2020-12-26
    • 2016-10-19
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2018-02-28
    • 2022-01-19
    相关资源
    最近更新 更多