gpt4 book ai didi

javascript - 计算 Firestore 更新中的时间戳差异

转载 作者:行者123 更新时间:2023-11-28 03:23:49 24 4
gpt4 key购买 nike

在我的 Cloud Firestore 数据库中,我有一个文档集合,其中包括创建的时间戳。

Env.docRef.collection('collect').add({
name: this.name,
active: true,
created: firebase.firestore.FieldValue.serverTimestamp()
}).then(function(docRef) {
......;
}.bind(this));

当我需要更新/禁用一个文档时,我想创建一个持续时间字段来表示自文档创建以来的时间。

 Env.docRef.collection('collect').doc(this.id).update({
active: false,
ended: firebase.firestore.FieldValue.serverTimestamp(),
duration : ???
}).then(function() {
....;
})
.catch(function(error) {
....;
});

是否有任何选项可以在查询中构建此持续时间?

最佳答案

没有像服务器时间戳那样的简单的持续时间标记。如果您想对创建的字段和结束的字段使用服务器时间戳,您需要做的就是在完全写入文档后读取文档,对时间戳进行数学计算,然后将持续时间写回到文档中。

或者,您不需要为查询建立持续时间字段索引,您可以简单地让其他客户端在读取文档时进行日期匹配以显示数据。

请注意,在使用时间戳进行日期数学计算时,Firestore 中的时间戳同时存在秒和纳秒字段。如果您想保持纳秒精度,则必须小心,不仅仅是简单的减法。

关于javascript - 计算 Firestore 更新中的时间戳差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58861720/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com