将时间戳作为"时间戳"保存到Firestore中是正常的吗?

rgo*_*alv 5 unix-timestamp firebase swift google-cloud-firestore

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

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

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

 }
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

这是正常的吗?难道不应该有一个长的包含自Unix Epoch以来的毫秒数?

Dou*_*son 9

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

相反,您希望使用Firestore的服务器时间戳概念,即FieldValue.serverTimestamp().另请参阅此处文档中的最后一个示例.

  • 这将是一个出路的数字,表示为自纪元以来的毫秒数. (2认同)