Ссылки на документы должны содержать четное количество сегментов, но 8VMCfTZIAmOwRRb2JZsVT8K04o22 имеет 1

# #firebase #kotlin #google-cloud-firestore #firebase-authentication

Вопрос:

Я пытаюсь добавить данные в базу данных Firestore, когда создается пользователь, именно здесь я получаю эту ошибку: firestoreDb.document(uidd).collection("users").add(users)

Это мой код:

 auth.createUserWithEmailAndPassword(email, password).addOnCompleteListener { task ->
            btnRegister.isEnabled = false
            if (task.isSuccessful) {
                
                val success = true
                Log.d(TAG, "createUserWithEmail:success")
                val user = auth.currentUser
                uidd = auth.currentUser!!.uid
                val users = User(
                    auth.currentUser?.uid.toString(),
                    age)

                Toast.makeText(this, uidd, Toast.LENGTH_SHORT).show()
                firestoreDb = FirebaseFirestore.getInstance()
                firestoreDb.document(uidd).collection("users").add(users)

             } else {
                val success = false
                Log.w(TAG, "createUserWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.", Toast.LENGTH_SHORT).show()
            }
        }
 

Пожалуйста, помогите мне решить эту проблему 🙂

Ответ №1:

Непосредственно в корне Firestore вы найдете коллекции, а не документы.

Я думаю, что вы пытаетесь создать документ для пользователя uidd в users коллекции под корнем. Это было бы:

 firestoreDb = FirebaseFirestore.getInstance()
firestoreDb.collection("users").document(uidd).set(users)
 

Также смотрите Документацию по установке значения для документа.

Комментарии:

1. Такая незначительная ошибка, и мне потребовалось 5-6 часов, чтобы ее исправить!! СПАСИБО за решение, и да, я видел эти документы, но каким-то образом мне все же удалось создать беспорядок.