如何将时间戳记添加为Firebase密钥

时间:2019-04-15 11:17:16

标签: firebase react-native firebase-realtime-database

我想在timebase中添加一个时间戳作为自定义键,但是我不能添加它,因为它总是给我一个错误。

这就是我要插入数据库的方式。

db.ref('items/').child(timestamp).set({
       name: item,
       type: type,
   })

这是我获取时间戳的方式: firebase.database.ServerValue.TIMESTAMP

我得到的错误是 Reference.child失败:第一个参数是无效的路径=“ [object Object]”。路径必须是非空字符串,并且不能包含。,#,$,[或]。

我不明白这里发生了什么,如果我将相同的时间戳记添加为一个孩子的值,它将添加没有问题的问题

1 个答案:

答案 0 :(得分:1)

doc中所述,通过firebase.database.ServerValue.TIMESTAMP获得的值是一个对象,但必须将字符串传递给child()方法。

这是错误消息指示的内容:

  

Reference.child失败:第一个参数是无效的路径=“ [object Object]”。路径必须是非空字符串,并且不能包含。,#,$,[或]。

您可以在前端生成时间戳并将其传递给child()方法,请参见How do you get a timestamp in JavaScript?


此外,请注意,ServerValue.TIMESTAMP是“ 占位符值,用于自动填充当前时间戳……由Firebase服务器确定”。这意味着您无法在前端调用JavaScript方法(例如getTime())。