【问题标题】:How to assign TimeStamp to FireStore using FieldValue.serverTimestamp() in swift如何在 swift 中使用 FieldValue.serverTimestamp() 将 TimeStamp 分配给 FireStore
【发布时间】:2018-10-31 18:44:56
【问题描述】:

如何使用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)
}

【问题讨论】:

  • 它必须用作文档字段的值。服务器将分配该值 - 客户端直到写入后才能看到该值。
  • 在当前场景中如何为文档字段分配时间戳? @道格史蒂文森

标签: ios swift xcode firebase google-cloud-firestore


【解决方案1】:

据我所知,目前没有方法可以立即显示时间戳。服务器端时间戳仅在服务器上生成,在服务器返回响应之前为null。这就是为什么你也会得到这样的回应。

几个月前我读过一篇文章,据说正在努力让客户立即估计时间戳。一旦该功能发布,您将能够获得两个事件,类似于how Firebase Realtime Database works。第一个事件将包含时间戳的本地估计,第二个事件将包含来自服务器的实际确认时间戳。

【讨论】:

    猜你喜欢
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2021-03-06
    • 2020-05-20
    相关资源
    最近更新 更多