Получить данные коллекции Firestore - Ошибка - Неожиданно найден ноль при неявном развертывании необязательного значения - PullRequest
0 голосов
/ 13 апреля 2020

Я работал над Firestore для получения данных, когда я пытался получить данные из поля collection-> document id->. см. снимок экрана ниже, мне нужно проверить совпадения companyCode с введенным пользователем companyCode.text

enter image description here

Я пытался с приведенным ниже кодом, нужно проверить, введенный пользователем companyCodeLabel.text соответствует документу «companyCode», а также получает documentId. Может кто-нибудь предложить, как решить эту проблему?

 guard let code = companyCodeLabel.text else { return }

let docRef = db.collection("Company").whereField("companyCode", isEqualTo: code).limit(to: 1)
docRef.getDocuments { (querysnapshot, error) in
    if error != nil {
        print("Document Error: ", error!)
    } else {
        if let doc = querysnapshot?.documents, !doc.isEmpty {
            print("Document is present.")
        }
    }
}

Даже пытался напечатать значение поля в коллекции, но все еще имеет cra sh и ту же ошибку ноль

self.db.collection("Company").getDocuments { (snapshot, err) in
          if let err = err {
              print("Error getting documents: \(err)")
          } else {
              for document in snapshot!.documents {
                 let docId = document.documentID
                 let compCode = document.get("companyCode") as! String
                 let compName = document.get("companyName") as! String

                 print(docId, compCode, compName)
              }
          }
        }

1 Ответ

0 голосов
/ 15 апреля 2020

Я пытался вызвать неправильный дБ, я пытался var db = Firestore!,

Правильные решения

Firestore.firestore().collection("Company").getDocuments { (snapshot, err) in
          if let err = err {
              print("Error getting documents: \(err)")
          } else {
              for document in snapshot!.documents {
                 let docId = document.documentID
                 let compCode = document.get("companyCode") as! String
                 let compName = document.get("companyName") as! String

                 print(docId, compCode, compName)
              }
          }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...