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

128
Vistas
¿Es posible acceder a la subcolección de la colección en los disparadores de Cloud Firestore a través del parámetro de instantánea de devolución de llamada?

Digamos que necesito enviar un correo electrónico a todos los miembros del grupo cuando el grupo esté completo:

 export const sendEmailToNewMember = functions.firestore.document('group/{groupId}').onCreate(async (snapshot,context) => { }

El group de colección tiene members de subcolección. Compruebo si el recuento de miembros ha aumentado y coincide con el número total de miembros que pueden unirse a un grupo. Si el miembro final se unió, debo enviar a todos los miembros un correo electrónico diciendo que el grupo está completo.

La estructura de datos se parece a la que se muestra a continuación:

 collection group { membersCount: 9999, totalMembers: 100000, .... users subcollection }

Intenté acceder a la colección a través de ref así:

 const usersRef = snap.ref.collection('users)

Pero, el resultado fue undefined . Por ahora, accedo usando

 await firestore().collection('group').doc(groupId).collection('users')

¿Es posible acceder a la subcolección sin esperarla y desde la propia snapshot ?

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

0

El document() toma la ruta a un documento y no a un campo. Entonces, si desea activar esta función cuando se actualice cualquiera de los campos en el documento de grupo, establezca la ruta en .document('group/{groupId}') .

Además, la snapshot en onCreate() contendrá datos del documento de ese grupo únicamente (el documento que activó la función). Tendrás que leer explícitamente la subcolección.

Parece que desea enviar un correo electrónico a un nuevo miembro que se une a un grupo. En su lugar, puede activar la función cuando se agrega un nuevo usuario en la subcolección del usuario como se muestra a continuación:

 // Here user's UID would be ID of sub-document export const sendEmailToNewMember = functions.firestore.document('group/{groupId}/users/{userId}').onCreate(async (snapshot,context) => { const { groupId, userId } = context.params; }
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