首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修复serverTimestamp + 24小时

修复serverTimestamp + 24小时
EN

Stack Overflow用户
提问于 2020-12-01 02:53:18
回答 1查看 1.2K关注 0票数 0

我正在实现一个删除过期文档的预定云功能。

我在GCF中用24小时的TTL上传内容的方法是:

获得服务器timestamp

  • Calculate的"expiresAt“日期(类似于新的Date().addHours(24))

)

在谷歌云功能中使用这样的expiresAt是否是获得“serverTimestamp”的正确方法?

代码语言:javascript
复制
 Date.prototype.addHours = function(hours) {
     this.setTime(this.getHours() + hours);
     return this;
 } 

 ...

 const date = admin.firestore.FieldValue.serverTimestamp();
 const expiresAt = date.toDate().addHours(24);

另外,如果expiresAt是一个Date对象,那么在存储它时,它会自动转换为Fi还原时间戳吗?

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-01 02:58:04

您不能真正“获得”Fi还原服务器时间戳。admin.firestore.FieldValue.serverTimestamp()返回静态令牌值对象,而不是日期。在写入发生时,这些令牌将在Fi还原服务器上进行评估。

由于您已经在云函数中的Google后端上运行代码,所以您只需使用JavaScript估计的当前时间即可。它将与Firestore中的当前时间相同,但您可以对其进行计算。

代码语言:javascript
复制
const now = Date.now()
const expiresAt = new Date(now + 24*60*60*1000)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65084065

复制
相关文章

相似问题

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