Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

387
Vistas
What is the equivalent of CollectionReference.doc() for version 9 of the Firebase JS SDK?

I am trying to add a new document in a firestore transaction with version 9 of the Firebase JS SDK. In version 8, we can use

const newDocRef = db.collection('coll').doc();

to get a DocumentReference to a document that does not exist yet, and then do a

transaction.set(newDocRef, { ... });

to set the document in a transaction. How would we do the same in version 9? The new CollectionReference class does not seem have a doc() method as in version 8. Thanks!

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

There's a function doc() to create a DocumentReference and then runTransaction() to run a transaction. Try refactoring the code like this:

import { getFirestore, doc, runTransaction } from "firebase/firestore"

const newDocRef = doc(db, "col_name", "doc_id");

await runTransaction(db, async (transaction) => {
  // ...
  transaction.set(newDocRef, { ...data });
});

The documentation has examples with both the name-spaced and functional syntax. Also checkout this answer for better explanation of syntax differences in V8 and V9:

Firestore: What's the pattern for adding new data in Web v9?

about 4 years ago · Juan Pablo Isaza Denunciar

0

Found the answer here. This works for me:

const newDocRef = doc(collection(db, "coll"));

transaction.set(newDocRef, { ... });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda