Quiero actualizar un valor de puntaje dentro de una colección específica que está dentro de un documento llamado concursos.
Me gustaría actualizar valores de datos de colecciones específicas, pero me da este error:
FirebaseError: se esperaba el tipo 'gc', pero era: un objeto yc personalizado
Mi consulta probablemente sea incorrecta, pero ¿cómo puedo actualizar un valor específico dentro de una colección?
const colRef= query(collection(db, 'competitions/'+id+'/scorecard'), where("id", "==", scorecardid)); return updateDoc(colRef, {finalscore:300}, { merge: true }); Debajo, puede ver la estructura de la base de datos, desde las competiciones hasta las tarjetas de puntuación, obtener una identificación específica de la tarjeta de puntuación y desea actualizar la puntuación final de esa tarjeta de puntuación. 
updateDoc() toma una DocumentReference como primer parámetro pero está pasando una Query . No hay ninguna función de actualización de updateDocsWhere en Firestore en este momento. Primero tendrá que ejecutar esa consulta y luego iterar sobre todos los documentos y eliminarlos usando su referencia. Intente refactorizar el código como se muestra a continuación:
const colRef= query(collection(db, 'competitions/'+id+'/scorecard'), where("id", "==", scorecardid)); const snapshot = await getDocs(colRef); const promises = snapshot.docs.map((doc) => updateDoc(doc.ref, { finalscore:300 })); await Promise.all(promises);Alternativamente, también puede usar Escrituras por lotes para actualizar hasta 500 documentos a la vez.