Quiero crear un documento en Firebase Firestore con Javascript ... Eso no solo tiene la ID generada automáticamente
return addDoc(collection(db, "users"), { bio: signupForm['signup-bio'].value });
Así es como lo estoy codificando. ¿Podría alguien mostrarme dónde o cómo agregar una identificación personalizada al documento?
Gracias
Vale, me di cuenta...
Para crear una identificación personalizada para un nuevo documento es como sigue...
setDoc(doc(db, 'collection', 'ID'), { feild: value, feild: value });o en mi caso como ejemplo...
setDoc(doc(db, 'users', (cred.user.uid), { bio: signupForm['signup-bio'].value });Esto crea un nuevo documento (y la colección de usuarios si aún no existe) con el ID como el ID de usuario de los usuarios conectados actualmente y los datos en el documento son el valor de un formulario de registro llamado 'registro-bio'
Para establecer ID de documentos personalizados en Firestore , debe usar el método set en lugar de add :
db.collection("users").doc("YOUR_ID").set({ bio: signupForm['signup-bio'].value });Puede consultar la documentación oficial sobre cómo configurar un documento que establece que:
Para crear o sobrescribir un solo documento, use el método set():
// Add a new document in collection "cities" db.collection("cities").doc("LA").set({ name: "Los Angeles", state: "CA", country: "USA" }) .then(() => { console.log("Document successfully written!"); }) .catch((error) => { console.error("Error writing document: ", error); });Si el documento no existe, se creará. Si el documento existe, su contenido se sobrescribirá con los datos proporcionados recientemente, a menos que especifique que los datos deben combinarse con el documento existente...
Para alguien que usa la colección como función variable/existente.
Ejemplo en Typescript como este https://javascript.plainenglish.io/using-firestore-with-typescript-in-the-v9-sdk-cf36851bb099
Normal:
const docRef = doc(helloCol())Pero también puedes hacer algo como... :
const docRef = doc(helloCol(), 'some-id') // await setDoc(docRef, { /* data */ }) Sin cambiar helloCol() 🎉
Referencia:https://firebase.google.com/docs/reference/js/firestore_.md#doc