我如何按日期订购 Firebase
How do i order by Date Firebase
我在数据库中有一些条目,它们都包含一个日期字符串。
我有这样的TS
ref.LimitToFirst(10).orderByChild('date')
我遇到的问题是 TS 将其视为常规字符串并仅按日期中的第一个数字排序。例如 - 10/1/2021 将在 2/1/2021 之前订购。我该如何解决?
依赖数据库执行查询时,您无法在代码中解决此问题。在实时数据库中,字符串将始终按字典顺序排序 - 按照它们的自然字符串顺序。您不能让它将字符串解释为普通字符串以外的其他内容。
您将不得不存储一个可以按时间顺序排序的整数值。在 JavaScript 中,您可以简单地创建一个 Date 对象并使用其 getTime() 方法字段来获取自 unix 纪元以来的日期以毫秒为单位的表示形式。
如果您不能存储正确的时间戳,那么您唯一的选择就是读取所有数据并在您的应用中自行排序,这将无法很好地扩展。
我在数据库中有一些条目,它们都包含一个日期字符串。
我有这样的TS
ref.LimitToFirst(10).orderByChild('date')
我遇到的问题是 TS 将其视为常规字符串并仅按日期中的第一个数字排序。例如 - 10/1/2021 将在 2/1/2021 之前订购。我该如何解决?
依赖数据库执行查询时,您无法在代码中解决此问题。在实时数据库中,字符串将始终按字典顺序排序 - 按照它们的自然字符串顺序。您不能让它将字符串解释为普通字符串以外的其他内容。
您将不得不存储一个可以按时间顺序排序的整数值。在 JavaScript 中,您可以简单地创建一个 Date 对象并使用其 getTime() 方法字段来获取自 unix 纪元以来的日期以毫秒为单位的表示形式。
如果您不能存储正确的时间戳,那么您唯一的选择就是读取所有数据并在您的应用中自行排序,这将无法很好地扩展。