Firestore事务 - 读取文档不存在的数据

时间:2018-03-05 19:36:05

标签: ios swift firebase google-cloud-firestore

如何做到以下几点:

1)如果文档存在,请阅读它,并更新应用程序标记字段。

2)如果文档不存在,请使用默认值设置所有字段。

我试图通过Firestore事务实现这一目标,但在第二种情况下失败了。

let ref = Firestore.firestore().collection("users").document((user?.uid)!)
       Firestore.firestore().runTransaction({ (transaction, errorPointer) -> Any? in
            let userDoc : DocumentSnapshot
            do {
                try userDoc = transaction.getDocument(ref)
            }
            catch _ as NSError {
                return nil
            }
       })
}

我在firebaseLogin方法中调用此方法。基本上,提供更多上下文,如果用户正在创建他的帐户(例如通过Facebook),请设置名称和电子邮件等默认字段。如果用户已有帐户,则仅更新applicationToken(对于FCM)。

0 个答案:

没有答案