Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

129
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!