如何使用Firebase Firestore在Swift中获取当前用户的文档ID?


let db = Firestore.firestore()
let currentUser = Auth.auth().currentUser

guard currentUser != nil else {return}
let docRef = db.collection("UserProfiles").document("sWD6Sr11yimSFrpZ9B0m")

docRef.getDocument { document, error in
guard error == nil else {return}
guard let name = document?.get("name") as? String else {return}
guard let lastname = document?.get("lastname") as? String else {return}
self.nameLabel.text = name+" "+lastname
}

手动显示当前用户的文档ID="0";sWD6Sr11yimSFrpZ9B0m";

如何自动获取当前用户的文档ID?

保存的文档ID

guard let userId = Auth.auth().currentUser?.uid else {return}

将返回登录的当前用户id

您可以获取集合的所有文档id,但不能获取当前文档id!firebase不知道什么是当前用户文档或id。您只需获取当前用户uid并用uid保存文档,然后用uid 获取

db.collection("Seeker").getDocuments { querySnapshot, error in
guard let snapshot = querySnapshot, error == nil else {return}
let documentIDs = snapshot.documents.map({$0.documentID})
print(documentIDs)
}

这就是获取所有文档id的方法。。。

如果您想跟踪文档id

self.db.collection("Seeker").document(userId).setData([
"email": email,
"role" : userType.title
])

这样你就可以用Seeker的用户id作为文档id

最新更新