Firebase 按日期字符串查询

b4o*_*any 2 javascript firebase firebase-realtime-database

我知道可以按时间戳进行查询,如上一个问题所示,但是,如果日期采用以下格式怎么办:

{
  "lambeosaurus": {
     "date" : "2012-20-03",
     "length" : 12.5,
     "weight": 5000
  },
 "stegosaurus": {
     "date" : "2015-25-13",
     "length" : 9,
     "weight" : 2500
  }
}
Run Code Online (Sandbox Code Playgroud)

我将如何按日期查询?

Fra*_*len 5

您已将日期存储为字符串。当 Firebase 对字符串进行排序时,它使用字典顺序。按照这个顺序,"2012-20-03"先于"2012-25-01"

这就是您链接到的问题(以及 Firebase 文档)通常将日期存储为timestamps的原因。这些信息包含有关日期的所有信息,并以一个数字形式显示,保证正确订购。

或者,您可以将日期存储为字符串。但在这种情况下,您必须确保日期的格式也能按字典顺序正确排序。对于您的示例,这将是:"2012-01-25""2012-03-20"

因此,在这种情况下,您唯一的选择是将数据结构更改为原始问题(和文档)中的内容,或者更改为按您想要的顺序排序的字符串格式。