Estoy tratando de cambiar/crear algunos valores dentro de un documento de Firestore desde una función de nube de Firebase y no puedo resolverlo, probablemente me falta algo muy fácil.
exports.onEnterDetails = functions.firestore.document('accounts/{accountId}') .onCreate((snapshot, context) => { // grab values from the document const values = snap.data(); // do stuff with the values the user put in ... })¿Cómo puedo cambiar el valor/crear nuevas entradas en el mismo documento de Firestore y cómo puedo devolver algunas de esas nuevas entradas al usuario en la interfaz (sitio web)?
Su onCreate Cloud Function se activa de forma asíncrona, después de que el documento ya se haya creado en Firestore. En ese punto, ya no hay forma de cambiar los datos iniciales en el documento, ni hay forma de devolver los datos al cliente que creó el documento.
Si desea un flujo síncrono en el que modifique los datos antes de que se escriban y pueda responder al cliente, considere implementar una función de nube invocable o una función de nube HTTP , ambas síncronas. En cualquiera de estos, llama a Cloud Function desde el código de su aplicación y pasa los datos con esa llamada, en lugar de escribirlos directamente en Firestore. Luego, Cloud Function realiza la llamada a Firestore y devuelve el resultado necesario a la persona que llama.