如何使用FieldValue.serverTimestamp()
分配时间戳,它会返回 FSTServerTimestampFieldValue:0x6000024ee0e0 ,如debugPrint(FieldValue.serverTimestamp())
在调试菜单中所示
代码在这里
let db = Firestore.firestore()
let settings = db.settings
settings.areTimestampsInSnapshotsEnabled = true
db.settings = settings
db.collection(THOUGHTS_REF).addDocument(data: [
CATEGORY : categorySelected,
NUM_COMMENTS : 0,
NUM_LIKES : 0,
THOUGHT_TXT : thoughtTxt.text!,
TIMESTAMP : FieldValue.serverTimestamp(),
USERNAME : username
]) { (err) in
if let err = err {
debugPrint("Error adding document: \(err)")
return
}
}
self.navigationController?.popViewController(animated: true)
}
答案 0 :(得分:2)
据我所知,目前尚无否方式立即显示时间戳。服务器端时间戳仅在服务器上生成,并且为null
,直到服务器的响应返回为止。这就是为什么您也会收到该回复的原因。
几个月前,我读了一篇文章,据说有人正在努力使客户立即估算时间戳。释放该功能后,您将能够获得两个事件,类似于how Firebase Realtime Database works。第一个事件将包含时间戳的本地估计,第二个事件将包含来自服务器的实际确认时间戳。