¿Hay alguna forma de almacenar un usuario dentro de la base de datos de firebase pero con un nombre de documento personalizado? Lo que estoy tratando de lograr es que después de que el usuario se registre en la aplicación, la aplicación guarde sus detalles en una base de datos de Firebase.
Aquí está mi código:
function signUp(email, password) { return createUserWithEmailAndPassword(auth, email, password).then(() => { addDoc(usersCollectionRef, auth.currentUser.uid,{ email: email, password: password, id: auth.currentUser.uid, role: "user", }); }); } Como puede ver, estoy tratando de guardar el nombre del documento de esta manera: auth.currentUser.uid , que puse como el segundo parámetro de la función addDoc , pero me sale este error:
Función addDoc() llamada con datos no válidos. Los datos deben ser un objeto, pero era: "B0P4tBzY2uOF2XG2o6cT..." (se encuentra en el documento users/Gmbv7Zd2JZF4PtTct4VF)
¿Alguien sabe como hacer esto?
addDoc siempre generará una nueva ID de documento aleatoria. Si desea especificar su propia ID de documento, no use addDoc. En su lugar, siga las instrucciones en la documentación y cree una referencia al documento para crear, luego créelo con setDoc :
import { doc, setDoc } from "firebase/firestore"; setDoc(doc(usersCollectionRef, auth.currentUser.uid), { email: email, password: password, id: auth.currentUser.uid, role: "user", });