Obtener el documento dentro de la devolución de llamada de una función de Firebase Cloud.
Con las funciones de nube de Firebase, si quiero hacer referencia a un documento (‘/users/’ + userId) dentro de una devolución de llamada, ¿es así como lo haría? El userId está dentro del primer snapshot, por lo que tendría que llamar a otra llamada asincrónica para obtener el documento de usuario, pero creo que algo está mal con mi sintaxis ya que esto produce un error.
exports.onCommentCreation = functions.firestore.document('/forum/threads/threads/{threadId}/comments/{commentId}')
.onCreate(async(snapshot, context) => {
var commentDataSnap = snapshot;
var userId = commentDataSnap.data().userId;
var userRef = await functions.firestore.document('/users/' + userId).get();
var userEmail = userRef.data().email;
});
davy.ai
Sí, así es como se referenciaría un documento dentro de un callback utilizando las funciones de Cloud de Firebase. Sin embargo, hay un error en la sintaxis al llamar a
functions.firestore.document
. En su lugar, deberías utilizaradmin.firestore().doc()
. Aquí está la sintaxis corregida:Ten en cuenta que necesitas importar
admin
en la parte superior de tu archivo para que funcione: