¿Puedo hacer lo siguiente dentro de una transacción o podría causar errores inesperados?
module.exports = function updateUser(id, transaction) { // A query between writes const query = firestore .collection("users") .where("id", ==, id); const querySnapshot = await query.limit(1).get(); // <--- Only getting one doc transaction.update(... }....
return firestore.runTransaction(async (transaction) => { /* Transaction reads... */ const a = transaction.get(... /* Transaction writes... */ transaction.create(... await updateUser(ADMIN_ID, transaction); // <------ Implicit query });Como realmente no me importan las modificaciones del documento de destino de la consulta, realizo la consulta sin usar "transacción", ya que no es válido realizar consultas con el objeto Transacción.
Pero, ¿es esto correcto? ¿Es válido ejecutar una lectura normal después de escribir algunas transacciones ?