firebase - 如何将时间戳添加为 Firebase 键
问题描述
我想在firebase中添加一个时间戳作为自定义键但是我不能添加它,因为它总是给我一个错误。
这就是我插入数据库的方式。
db.ref('items/').child(timestamp).set({
name: item,
type: type,
})
这就是我获取时间戳的方式:
firebase.database.ServerValue.TIMESTAMP
我得到的错误是 Reference.child failed: First argument is an invalid path="[object Object]"。路径必须是非空字符串,并且不能包含 .、#、$、[ 或 ]。
我不明白这里发生了什么,如果我将相同的时间戳添加为一个孩子的值,它会毫无问题地添加它
解决方案
如文档中所述,您获得的值firebase.database.ServerValue.TIMESTAMP
是一个 Object 但您必须将 String 传递给该child()
方法。
这是错误消息所指示的:
Reference.child 失败:第一个参数是无效路径 =“[object Object]”。路径必须是非空字符串,并且不能包含 .、#、$、[ 或 ]。
您可以在前端生成时间戳并将其传递给child()
方法,请参阅如何在 JavaScript 中获取时间戳?
此外,请注意ServerValue.TIMESTAMP
“用于自动填充当前时间戳的占位符值......由 Firebase 服务器确定”。这意味着您不能getTime()
在前端调用 JavaScript 方法(例如 )。
推荐阅读
- java - 如果我们使用@embedded 注释,HQL(hibernate 查询语言)需要如何改变?
- delphi - Delphi 2007 IDE 提示显示为 HTML 文本
- python - 如何使用 pymongo 将小 png 图像保存到 Mongodb 数据库
- asp.net-core - 如何将 Visual Studio 2017 模板从 ASP.NET Core 2.0 更新到 2.1
- ios - 如何在 MKMapView 中将用户当前位置蓝点更改为自定义图像
- alexa - 什么样的插槽用于捕获随机文本?
- xml - 从列中的 xml 中选择第一个元素
- c - 如何使用 DOT 运算符初始化结构类型的数组
- javascript - 增强现实中使用 A 帧检测标记的视频播放
- dart - 由于 EdgeInsets.all,Flutter dart 编译失败