如何在firestore swift中获取当前用户文档

时间:2018-05-30 13:05:22

标签: ios firebase swift3 google-cloud-firestore

用户登录成功后,进入主屏幕。当用户点击用户图标按钮时,将进入用户帐户详细信息页面。在这里,我已经在firebase中从数据库中检索数据。

这里是使用的代码:

pd.DataFrame().mask

我尝试从firebase迁移到firestore。在控制台输出中运行时,它显示文档不存在。这是我使用的代码

func observeCurrentUser(completion: @escaping (User) -> Void) {
    guard let currentUser = Auth.auth().currentUser else {
        return
    }
    REF_USERS.child(currentUser.uid).observeSingleEvent(of: .value, with: {
        snapshot in
        if let dict = snapshot.value as? [String: Any] {
            let user = User.transformUser(dict: dict, key: snapshot.key)
            print("user::::::\(user)")
            completion(user)
        }
    })

    }

它已经完成了firebase,我想要在云端火堆中?

任何帮助非常感谢。

1 个答案:

答案 0 :(得分:2)

正如documentation所述,您可以使用以下方式查询数据:

    db.collection("cities").document("SF").getDocument { (document, error) in
        if let document = document, document.exists {
           //access data here
        } else {
            print("Document does not exist")
        }
    }

这意味着,在您的情况下使用:

       db.collection("users").document(currentUser.uid)               
          .getDocument { (snapshot, error ) in

               if let document = snapshot {

               let user = User.transformUser(dict: document.data()!, key: document.documentID)
               completion(user)         

                } else {

                 print("Document does not exist")

               }
       }

让我知道它是如何运作的,我可以用任何可能出现的问题更新我的答案。

亲切的问候克里斯