Kotlin не может запросить коллекцию пользователей - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь выполнить запрос в Firebase, чтобы получить значение указанного поля c в коллекции USERS, и я не понимаю, почему .documents это неразрешенная ссылка. Любые идеи?

fun getUserSpecialty() {
    val user = FirebaseAuth.getInstance().currentUser!!.uid
    val specRef = usersCollectionRef.document(user)
    specRef.get().addOnSuccessListener { snapshot ->
        for (document in snapshot.documents) {  //.documents it's an Unresolved Reference 
            val data = document.data
            val userSpecialtyCode = data!![SPECIALTY_CODE] as String

            val loggedUserSpecialty = UserSpecialty(userSpecialtyCode)

            userSpecClass.add(loggedUserSpecialty)

            this.userSpecTxt?.text = userSpecialtyCode
        }
      }
   }

1 Ответ

1 голос
/ 23 апреля 2020

Это потому, что snapshot является DocumentSnapshot , и, как вы можете видеть из связанной документации API, в нем нет метода с именем getDocuments().

Когда Вы звоните get() на DocumentReference , как и сейчас, вы получаете один документ в качестве DocumentSnapshot. Вы не получите QuerySnapshot, как вы делаете с запросами, которые могут вернуть несколько документов. Вы, вероятно, путаете их.

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