Tengo una colección llamada usuarios y uno de los campos dentro del documento tiene un tipo de cadena llamado valid cuyo valor puede ser yes o no .
Estoy tratando de crear una consulta para mostrar la cantidad de documentos donde el campo válido == sí y luego mostrar la cantidad total. Acabo de enviar el siguiente código a la consola, que es correcto, pero quiero que muestre 2 para indicar que hay 2 resultados.
db.collection('users').where('valid', '==', 'yes').get().then(snapshot => { snapshot.docs.forEach(doc => { console.log(doc.data().valid); }); });La clase QuerySnapshot contiene un campo llamado tamaño que devuelve:
El número de documentos en QuerySnapshot.
Entonces, en su código, eso sería simplemente:
db.collection('users').where('valid', '==', 'yes').get().then(snapshot => { console.log(snap.size); });El resultado de este código será:
2Pero tenga en cuenta que funcionará para una pequeña colección de documentos. Escribí un artículo llamado:
Donde he explicado algunas prácticas alternativas que pueden ayudarlo a lograr lo mismo, de una manera menos costosa.