如何解决如何让应用在登录时自动识别当前用户的 Firestore 文档 ID?
当用户通过我的表单注册时,会创建一个与该用户相关联的文档。我的主要目标是创建一个全局函数,可以识别登录的用户并获取他们的文档 ID。我有一个功能设置,用于将文档添加到用户文档的子集合中,这是完美设置,唯一的缺点是当我使用多个帐户进行测试时,我必须手动切换集合路径。这就是我的意思。
@IBAction public func createEventButton(_ sender: UIButton) {
let error = validateFields()
if error != nil {
showError(error!)
} else {
db.collection("school_users/\(stThomas)/events").addDocument(data: ["event_name": nameTextField.text,"event_date": dateTextField.text,"event_cost": costTextField.text,"for_grades": gradesTextField.text]) { (error) in
if error != nil {
self.showError("There was an error trying to add user data to the system.")
} else {
self.dismiss(animated: true,completion: nil)
}
}
}
正如您在此处看到的,我使用字符串插值和用于存储文档 ID 的“stThomas”常量。我基本上想创建一个函数来识别登录用户的文档 ID,这样我就可以使用我的常量而不是字符串插值,并且每次都必须手动切换用户集合路径,这在生产过程中最终是不可能的。>
更不用说,我确实有一个获取文档 ID 的功能,例如单击一个事件,但作为 Swift 的初学者,我似乎无法将这些点联系起来。我还将展示此功能以供澄清。
func getDocID() {
db.collection("school_users/\(notredame)/events").getDocuments() { (querySnapshot,error) in
if let error = error {
print("There was an error getting the documents: \(error)")
} else {
self.documentsID = querySnapshot!.documents.map { document in
return DocID(docID: (document.documentID))
}
self.tableView.reloadData()
}
}
}
在这个函数中,你可以看到我的另一个常量“notredame”和另一个存储的文档 ID。如果有人知道一种简单的方法来做到这一点,那就太好了。是的,我查看了 Firebase 文档,感谢您的提问。
解决方法
我做了一些额外的研究,并意识到我可以在收集路径中使用用户 ID。我的问题现在解决了。不过还有更多问题要来。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。