可以使用firebase-admin.firebase吗?时间戳而不是FieldValue.serverTimestam



对于在Google Cloud函数中生成服务器端时间戳,文档似乎倾向于使用admin.firestore.FieldValue.serverTimestamp()

但也有一个选项,使用import {Timestamp} from "firebase-admin/firestore"有一个功能Timestamp.now()。似乎比使用admin.firestore.FieldValue.serverTimestamp()更容易在服务器上获得当前时间。你会得到相同的时间吗?

Firestore时间戳是在数据库服务器上修改/创建文档时生成的。其他时间戳也可以用于逻辑,但它们是独立于Firestore时间戳的。

ref.set({
createdAt: firebase.firestore.FieldValue.serverTimestamp()
})

不能保证执行Cloud Function的服务器上的时间戳与数据写入数据库时的时间戳完全相同。

这两个操作发生在不同的机器上,所以即使时钟完全同步,在不同机器上执行操作之间也会有时间间隔。当机器处于不同的区域时,这个时间差可能很重要。

这个级别的差异当然可能对您的应用程序不重要,但这是只有您才能确定的事情。我建议在你的项目中测量这两个值之间的差异,然后再决定。

相关内容

  • 没有找到相关文章

最新更新