在 Firebase 数据库中保存日期

2024-02-20

在我的 Android 应用程序中根据日期对一些数据进行排序。它的存储方式如下:

Map<Year, Map<Month, Map<Day, Stuff>>>

年、月、日仅包含整数。它无法保存到 Firebase 数据库,因为它是具有非字符串键的映射。我想把它压平并把它变成地图。对数据结构的巨大妥协,因为它允许前一个结构不允许(也不应该)允许的数据。但是,日期也不是字符串。我尝试过这样的事情:

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 方法来使用过滤器,您可以在其中定义定义范围的时间戳

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Firebase 数据库中保存日期 的相关文章

随机推荐