我正在实现一个删除过期文档的预定云功能。
我在GCF中用24小时的TTL上传内容的方法是:
获得服务器timestamp
)
在谷歌云功能中使用这样的expiresAt是否是获得“serverTimestamp”的正确方法?
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还原时间戳吗?
非常感谢。
发布于 2020-12-01 02:58:04
您不能真正“获得”Fi还原服务器时间戳。admin.firestore.FieldValue.serverTimestamp()返回静态令牌值对象,而不是日期。在写入发生时,这些令牌将在Fi还原服务器上进行评估。
由于您已经在云函数中的Google后端上运行代码,所以您只需使用JavaScript估计的当前时间即可。它将与Firestore中的当前时间相同,但您可以对其进行计算。
const now = Date.now()
const expiresAt = new Date(now + 24*60*60*1000)https://stackoverflow.com/questions/65084065
复制相似问题