【问题标题】:Firebase query limitToLast() + last time stampFirebase 查询 limitToLast() + 上次时间戳
【发布时间】:2020-02-13 06:21:49
【问题描述】:

我想知道是否有办法查询这个。 在以下示例中,我有一个出勤日期列表。如您所见,在 2-2 之前将 2-11 添加到 Firebase。

我正在做的事情是:firebase。

this.props.firebase.getLastAttendanceDate(organization)
.limitToLast(1)
.once('value')

有了上面的内容,我总是会得到在我的 firebase 数据库中创建的最后一条记录。然而,这让我失望了,因为 2-11 不再是最后一个。有没有办法做这样的事情:

this.props.firebase.getLastAttendanceDate(organization)
.limitToLastCreated
.once('value')

显然以上方法行不通。只是一个例子。 有什么想法吗?

【问题讨论】:

  • 当您想要对日期进行排序时,一种标准方法是使用以下格式:YYYYMMDD。这样,字母顺序与日期顺序相对应。

标签: firebase firebase-realtime-database


【解决方案1】:

如果您要将日期用作可排序的字符串键,则应使用按字典顺序排序的日期格式。这意味着您的日期字符串应该首先具有最大的单位,并且您应该对单位进行零填充,以使字符串始终具有相同的长度。例如,“2020-02-09-PM”。如果您不这样做,那么无论您对查询做什么,您的日期字符串都不会按照您期望的方式排序。

另请注意,对于“YYYY-MM-DD-AM”格式,您需要在“PM”之前排序“AM”,它确实如此。但在这种情况下,使用数字而不是字符串可能会更好。

【讨论】:

    猜你喜欢
    • 2017-02-09
    • 2016-12-02
    • 2017-09-10
    • 2019-05-16
    • 2020-10-22
    • 1970-01-01
    • 2020-04-17
    • 1970-01-01
    • 2016-06-21
    相关资源
    最近更新 更多