在我的 Android 应用程序中根据日期对一些数据进行排序。它存储如下:
Map<Year, Map<Month, Map<Day, Stuff>>>
年、月、日只包含整数。这无法保存到 Firebase 数据库,因为它是一个具有非字符串键的 map 。我考虑将其展平并将其变成 Map。对数据结构的巨大妥协,因为它允许前一个不允许(也不应该)允许的数据。但是,Date 也不是字符串。我试过这样的事情:
String key = String.valueOf(date.getTime());
然后使用数据结构:
Map<String, Stuff>
也不起作用,它似乎使用了字符串在 Firebase 数据库中不能包含的一些非法字符。那么,我将如何着手完成这项工作?非常感谢帮助。
最佳答案
我建议您创建一个如下所示的结构:
...
date:{
day:1,
month:04,
year:2016,
timestamp:12345679979 //in milliseconds
}
通过这种方式,您可以轻松地将时间戳编入安全规则,通过 Child 进行查询并使用 start At 和 endAt 方法使用过滤器,您可以在其中定义定义范围的时间戳
关于android - 在 Firebase 数据库中保存日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39572668/