我想在timebase中添加一个时间戳作为自定义键,但是我不能添加它,因为它总是给我一个错误。
这就是我要插入数据库的方式。
db.ref('items/').child(timestamp).set({
name: item,
type: type,
})
这是我获取时间戳的方式:
firebase.database.ServerValue.TIMESTAMP
我得到的错误是 Reference.child失败:第一个参数是无效的路径=“ [object Object]”。路径必须是非空字符串,并且不能包含。,#,$,[或]。
我不明白这里发生了什么,如果我将相同的时间戳记添加为一个孩子的值,它将添加没有问题的问题
答案 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()
)。