Estoy tratando de realizar una escritura por lotes usando firebase 9 modular sdk. Esta operación incluye la creación de un documento de publicación , idealmente con una identificación generada automáticamente.
const batch = writeBatch(db) const postRef = doc(db, 'posts') // this fails, must pass and id const threadRef = doc(db, 'threads', post.threadId) batch.set(postRef, post) batch.update(threadRef, 'posts', arrayUnion(postRef.id), 'contributors', arrayUnion(state.authId)) await batch.commit()En Firebase 8 es posible obtener una referencia de documento con una identificación generada aleatoriamente con el siguiente código.
firebase.firestore().collection(nameOfTheCollection).doc()Estoy tratando de lograr lo mismo usando el SDK modular de Firebase 9 , pero no puedo encontrar ningún método para hacerlo. ¿Es posible obtener una referencia de documento con una identificación generada aleatoriamente sin crear primero el documento con Firebase 9 ?
Puede usar la función doc() y pasar una CollectionReference como primer parámetro sin ningún segmento de ruta, como se muestra a continuación:
import { doc, collection } from "firebase/firestore"; const docRef = doc(collection(db, "colName")); // Don't specify an ID yourself console.log(`New Document ID: ${docRef.id}`);