![](/img/trans.png)
[英]Getting error when trying to add document to firebase using Ionic4 and Angular 6 - Error: PERMISSION_DENIED: Permission denied
[英]Swift error trying to find document in firebase by id using CODABLE class
我正在嘗試使用其 id 查找文檔並將其存儲在自定義數據類中。 到目前為止,我已經創建了我的第一個功能來通過電子郵件在 Firebase 中搜索用戶。 電子郵件是文檔的 ID。 我還創建了一個類來存儲用戶。 你可以在這里看到這兩個代碼:我的 firebase 數據庫: 我的課:
import Foundation
import FirebaseFirestoreSwift
class Usuario: Codable {
@DocumentID var email: String?
let nombre: String
let apellidos: String
let telefono: String
let contraseña: String
let fotoPerfil: String?
let ciudad: String
init ( nombre: String, apellidos: String, usuario: String, contraseña: String, fotoPerfil: String?, ciudad: String){
self.nombre = nombre
self.apellidos = apellidos
self.telefono = usuario
self.contraseña = contraseña
self.fotoPerfil = nil
self.ciudad = ciudad
}
我的功能:
private func buscarUsuarioPorEmail( documentId: String) {
let docRef = db.collection("Usuarios").document("lorenzorubiorivera@hotmail.com")
print("This is a quick check for debugging: \(documentId)")
docRef.getDocument(as: Usuario.self) { result in
switch result {
case .success(let usuario):
self.usuarioActual = usuario
print("El usuario actual es: \(self.usuarioActual.nombre) ")
print(result)
case .failure(let error):
print("ERROR ENCONTRADO USUARIO \(error.localizedDescription)")
}
}
}
我的主要觀點:
import UIKit
import FirebaseAuth
import FirebaseCore
import FirebaseAnalytics
import FirebaseFirestore
import Lottie
class InicioViewController: UIViewController {
// He utilizado una variable tipo lazy para poder inicializarla más tarde cuando se llama a la base datos
lazy var usuarioActual = Usuario()
lazy var usersCollection = Firestore.firestore().collection("Usuarios")
@IBOutlet weak var txtEmailUsuario: UITextView!
// Creamos una conexión a Firestore
private let db = Firestore.firestore()
lazy var collectioRef = db.collection("Usuarios")
// MARK: -- Recupero el email mediante su clave en UserDefaults
private let email = UserDefaults.standard.string(forKey: "emailAutentificado")
override func viewDidLoad() {
super.viewDidLoad()
title = "Datos usuario actual"
txtEmailUsuario.text = email
buscarUsuarioPorEmail(documentId: email!)
}
我總是收到相同的控制台錯誤:
這是調試的快速檢查:lorenzorubiorivera@hotmail.com
ERROR ENCONTRADO USUARIO 數據丟失,無法讀取。
所以我認為問題可能出在您的可解碼變量中:
let contraseña: String
翻譯 看起來這意味着password
,所以如果您將其設置為可為空,或者只是將其刪除,請查看它是否開始工作,因為您的文檔不包含密碼鍵的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.