Firestore时间戳保证订单离线[关闭]

问题描述 投票:0回答:1

我在主要在线的Angular应用程序中使用Firestore,但希望能够离线添加文档。我给文档创建了一个时间戳,以便能够对它们进行排序。为此,我使用firebase.firestore.FieldValue.serverTimestamp(),因为这是使整体时间保持一致的最佳方法。

但是,根据文档,此serverTimestamp仅解析为应用程序在线时的日期。这意味着当我离线创建文档A,B和C时,它们可能会按(B,C,A)顺序获得时间戳。

保证已解决时间戳顺序的最佳方法是每个文档的创建顺序?

angular firebase google-cloud-firestore
1个回答
0
投票
  1. 客户端将始终首先触发本地事件,在这种情况下,时间戳将与本地客户端的时间戳一起解析。因此,您的方案中的顺序就本地客户端的时间戳而言应该是正确的。参见what is the result of retrieving Server TimeStamp with an Offline Connection
  2. Cloud Firestore中没有内置方法可以为客户端和服务器之间的偏移量更正此本地时间戳。 Firebase实时数据库具有value for tracking the clock skew,但在Firestore上不可用,因为基础协议不支持它。
© www.soinside.com 2019 - 2024. All rights reserved.