Estoy tratando de construir un sistema de publicación, similar al de Instagram, donde un usuario tiene la oportunidad de cargar una imagen o video que luego se guarda dentro del campo mediaURL de un determinado documento. El problema es: quiero mostrar la imagen primero al usuario mismo en el formulario de publicación. Por lo tanto, primero necesito almacenar la imagen, la pregunta es ¿con qué nombre se debe guardar?
Normalmente, crearía una publicación con una identificación generada automáticamente y luego guardaría la imagen con esa identificación. Supongo que habría una mejor manera de generar una idea, que luego se podría dar para guardar la publicación.
const post = await addDoc(collection(db, "posts"), { text : text, mediaURL : "", author : currentUser.uid, createdAt : firebase.firestore.FieldValue.serverTimestamp(), likes : [] }) const fileRef = ref(storage, post.id); const snapshot = await uploadBytes(fileRef, file); const mediaURL = await getDownloadURL(fileRef); const userRef = doc(db, "users", currentUser.uid) await updateDoc(userRef, { posts : arrayUnion(post.id) }) const postRef = doc(db, "posts", post.id) await updateDoc(postRef, { mediaURL : mediaURL })Dado el problema de que necesito cargar la imagen primero, crear una publicación vacía, que podría existir por más tiempo, podría ser un problema. Entonces, ¿con qué nombre puedo guardar el archivo?