async booleanFunction(email: string, bool: boolean){ console.log('here') const db = getFirestore(); const q = query(collection(db, "users"), where("email", "==", email), limit(1)); const querySnapshot = await getDocs(q); await updateDoc(querySnapshot, { disabled: !bool }); }Aquí está mi función que toma el correo electrónico y un valor bool (esto debe actualizarse), no tengo el _id que proporciona firestore, así que necesito alguna alternativa para consultar datos y actualizarlos
Este es el error que aparece
Argument of type 'QuerySnapshot<DocumentData>' is not assignable to parameter of type 'DocumentReference<{ disabled: boolean; }>'.Al tipo 'QuerySnapshot' le faltan las siguientes propiedades del tipo 'DocumentReference<{ disabled: boolean; }>': convertidor, tipo, firestore, id y 3 más.
El problema está aquí:
await updateDoc(querySnapshot, { disabled: !bool }); Está intentando llamar a updateDoc en un QuerySnapshot , lo cual no es posible y nunca ha sido posible en v8 tampoco.
Solo puede llamar a updateDoc en un DocumentReference . Por lo tanto, deberá recorrer los documentos en QuerySnapshot y llamar a updateDoc en cada uno de ellos:
await Promise.all(() => querySnapshot.docs.map((doc) => updateDoc(doc.ref, { disabled: !bool }) ) )