Creando usuario:
const register=async()=>{ try{ const user = await createUserWithEmailAndPassword(auth, registerEmail, registerPassword) const newUser = await addDoc(collection(db, "Users"), { email:registerEmail }); setEmail(newUser.email) navigate("/home"); }catch(error) { console.log(error.message); } }Traté de almacenar el correo electrónico para que coincida con el correo electrónico de datos de usuario de firestore
A continuación hay otro componente en el que intento agregar una nueva colección a un usuario específico, pero no lo hago
const createAnime = async () => { const addAnime= await addDoc(collection(db,"Users",user.id,"anime"),{ title,genre,numb,comment,rating,aid }) }He probado varias soluciones. El objetivo es agregar (título, género, número, etc.) como documentos separados a los creados por el usuario. No puedo hacer coincidir los datos del usuario de autenticación con los mismos datos de usuario creados en Direstore.
Está utilizando addDoc() cuando agrega el documento del usuario a Firestore que genera una ID de documento aleatoria pero luego intenta agregar una subcolección al documento con la UID del usuario (que probablemente ni siquiera exista). En su lugar, establezca la ID del documento en el UID del usuario en primer lugar, como se muestra a continuación:
const register = async () => { try { const { user } = await createUserWithEmailAndPassword(auth, registerEmail, registerPassword) const newUser = await setDoc(doc(db, "Users", user.uid), { email: registerEmail }); setEmail(registerEmail) navigate("/home"); } catch (error) { console.log(error.message); } }