onClick Creo un nuevo documento dentro de una subcolección con un documento de usuario.
Aquí está esa función:
// Create a new checkout session in the subcollection inside this users document const createCheckoutSession = async () => { const collectionRef = collection(db, 'users', currentUser.uid, 'checkout_sessions'); const payload = { price: 'price_1JvjWLChfN4TVWbYw2LdDXZZ', success_url: window.location.origin, cancel_url: window.location.origin }; await addDoc(collectionRef, payload); // TODO – Get the newly created document's id. };Mi objetivo es obtener la identificación del documento recién creado. Para luego obtener un campo dentro de ese documento para disparar una redirección al pago de Stripe.
En Firestore Web V8, estoy bastante seguro de que usaría:
collectionRef.onSnapshot(async (snap) => { const { sessionId } = snap.data(); if (sessionId) { // We have a session, let's redirect to Checkout // Init Stripe const stripe = await getStripe(); stripe.redirectToCheckout({ sessionId }); } }); ¿Cómo puedo obtener la lista de ID del documento recién creado como // TODO arriba?
La función addDoc devuelve una Promise<DocumentReference> al documento recién agregado. Entonces puedes obtener la identificación con:
const docRef = await addDoc(collectionRef, payload); console.log(docRef.id);