繁体   English   中英

Firestore时间戳记另存为地图

[英]Firestore Timestamp gets saved as Map

以下片段

const start = new Date(this.date + 'T' + this.time);
console.log(start); // Thu Sep 12 2019 04:00:00 GMT+0200

const tournament:Tournament = {
      start: firebase.firestore.Timestamp.fromDate(start)
}

将此锦标赛对象传递给可调用的云函数(其唯一目的是将通过的tournament保存为文档)会将start字段另存为具有secondsmiliseconds属性的Map,而不是Firestore中的时间戳。

我还尝试过start: start但这也无法带来将时间戳保存在Firestore中的预期结果。

仅作参考,这就是剥离的功能代码的样子:

firestore.collection('tournaments').doc(slugUrl).set(tournamentData)

(tournamentData是从前端传递的对象)

您的Timestamp对象必须先序列化为JSON,然后才能发送到函数。 默认序列化将时间戳分解为自然秒数,并以纳秒为单位生成结果对象。 所有类型信息都会丢失。

在您的函数中,您将必须从传递给函数的数据中读取这些单独的值,然后使用其两个参数的构造函数将它们转换回适当的Timestamp对象,然后将该对象写入Cloud Firestore。 只有这样,它将被保存为时间戳记类型字段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM