是否可以将时间戳存储为Firebase数据库中的密钥。
我的实际用例是根据时间戳存储日志。
所以,它是这样的:
logs: {
user1: {
"2016-12-02T06:57:31+00:00":"70",
"2016-12-02T06:57:32+00:00":"21",
"2016-12-02T06:57:33+00:00":"26"
},
user2: {
"2016-12-02T06:57:31+00:00":"88",
"2016-12-02T06:57:32+00:00":"36",
"2016-12-02T06:57:33+00:00":"45"
}
}
答案 0 :(得分:2)
您可以,只需使用时间戳作为参考来设置其值
firebase.database().ref("logs/"+"2016-12-02T06:57:31+00:00").set("70");
答案 1 :(得分:2)
是的,您可以将您喜欢的任何字符串作为数据库中的密钥(我想是达到合理的大小限制)。
对于日期,我建议只存储自纪元以来的秒数(或毫秒)。它将更小,更容易转换为各种其他日期表示。它还会使键按时间顺序排序(与整数排序顺序相同)。请参阅" orderByKey"。您还可以使用startAt()和endAt()来查询日期范围。
但是,如果您更喜欢当前的时间戳格式作为密钥,我认为这不会是一个问题。
答案 2 :(得分:0)
firebase数据库的键是String,然后是,您可以将时间戳存储为键。如果您有任何疑问,可以查看此documentation以获取更多信息。
良好的编程!
答案 3 :(得分:0)
是的,您可以根据用户输入信息的速度,为同一个用户提供重复的时间戳。
在这种情况下,我建议使用@FrankvanPuffelen引用的Firebase Push ID's,即:
推送ID包含120位信息。前48位是时间戳,它既降低了碰撞的可能性,又允许连续创建的推送ID按时间顺序排序。时间戳之后是72位随机性,这确保即使两个人在完全相同的毫秒内创建推送ID也极不可能生成相同的ID。