Así que estoy tratando de incrementar los datos para enviar un número al número de otro usuario.
const sendNum = async(e) => { e.preventDefault(); const targetQuery = query(userCol, where("keycode", "==", parseInt(target))); const targetSnapshot = await getDocs(targetQuery) targetSnapshot.forEach((document) => { console.log(document.data().num) console.log(document.id) const targetRef = doc(db, 'users', document.id) setDoc(targetRef, { num: // increment user data here }, {merge: true}) }) }Pero una documentación que encontré, realmente no los entiendo. Y el que entiendo, ya está desactualizado. Así que estaría muy feliz si alguien sabe cómo :)
La documentación tiene una sección dedicada a eso llamada incrementar un valor numérico .
import { setDoc, increment } from "firebase/firestore"; await setDoc(targetRef, { num: increment(50) }); No puede usar await en un ciclo forEach ( setDoc devuelve una promesa y debe esperarse), así que intente usar Batch Writes o Promise.all() .