时间戳以 "timestamp" 形式保存到 Firestore 中是否正常?

Is it normal for timestamp to be saved into Firestore as "timestamp"?

我正在保存服务器值时间戳如下:

let data : [String: Any] = ["userId": 9,
                            "name": "Elon Musk",
                            "timeCreated": ServerValue.timestamp()]

 let doc = firestore.collection("orders").document()
 doc.setData(data){ (error) in

 }

查看 Firestore 时,虽然我看到了这个:

这正常吗?难道不应该有一个包含自 Unix 纪元以来的毫秒数的 long 吗?

不,这似乎不正常。这是我使用 ServerValue.timestamp() 时得到的结果。

您正在使用服务器时间戳的实时数据库概念,即 ServerValue.timestamp。它本质上是一本字典,其中包含您显示的值:{'.sv': 'timestamp'}。这与 Firestore 不兼容。

相反,您想使用 Firestore 的服务器时间戳概念,即 FieldValue.serverTimestamp(). Also see the very last sample in the documentation here