首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Firestore TimeStamp通过可调用函数

Firestore TimeStamp通过可调用函数
EN

Stack Overflow用户
提问于 2019-06-03 03:07:26
回答 1查看 857关注 0票数 2

我正在工作的反应网络应用程序,以帮助项目管理。我面临的问题是关于Firestore的时间戳。存储在Firestore中的每个项目对象都有一个createdOn字段,该字段的类型是Fi还原时间戳。我的web应用程序正在调用一个可调用的firebase函数,它获取所有的项目并返回它们。问题是toDate()函数在web应用程序中不起作用,但是它在firebase函数中工作。我想知道问题是否在于当转换为JSON时,timeStamp丢失了一些东西。我是遗漏了什么,还是应该把它们作为某种东西储存起来?我真的不想转换所有的日期服务器端,因为这样会减慢函数调用的速度。我正在使用时间戳过滤客户端和分析。

如何将时间戳作为项目对象的一部分:createdOn: admin.firestore.Timestamp.now(),

在可调用函数中,我正在测试以下内容:console.log(allProjects[0].createdOn!.toDate())和这个功能。

在我的web应用程序中,我调用这个data.createdOn.toDate()并得到错误TypeError: data.createdOn.toDate is not a function

任何帮助都将不胜感激。谢谢,

我在功能方面使用

代码语言:javascript
复制
"firebase-admin": "^8.0.0",
"firebase-functions": "^2.3.1",

和客户端

代码语言:javascript
复制
"firebase": "^6.1.0",
"typescript": "^3.5.1"
"react": "^16.8.6",
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-03 04:14:37

“我想知道问题是否在于当转换到JSON时,timeStamp丢失了一些东西。”

是的,它失去了一些东西。时间戳将被序列化,使其秒和纳秒字段将被单独发送。您必须从客户端上接收到的值中重新构建新时间戳对象。由于您没有显示非常具体的代码,所以不可能提供更多的信息。我强烈建议您不要仅仅依赖于时间戳的默认JSON序列化,而是在两端显式地读取和写入其秒和纳秒字段。

还请参见以下与Java相关的问题:如何在Android中序列化Firestore TimeStamp?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56420690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档