Estoy creando una aplicación web simple y quiero obtener 10 respuestas de publicaciones particulares a la vez por sus ID de publicación.
Estoy usando Firebase firestore, aquí están mis posts/{postDocument}/replies/{replyDocument}.
Responder aquí es un documento dentro de una colección de replies que contiene una post de documento
Mi caso de uso es que quiero obtener 10 publicaciones a la vez y, por lo tanto, para cada publicación también su subcolección (respuestas)
Si hago un ciclo como for each postDocumentId await fetchReplies(postDocumentId) tomará demasiado tiempo para una iteración (10 iteraciones en total)
Quiero lograr algo como esto:
let postIds = [ '123', '321', '221','123', '021', '621','423', '521', '291','251' ] let snapshot = await firestore() .collection('posts/replies') .where('postId', 'in', postIds) .get();Al final, quiero obtener datos de Firebase de la manera más óptima y obtenerlos de este tipo:
[{post:{...}, replies:[{...},{...}]}, {post:{...}, replies:[{...},{...}]}, {post:{...}, replies:[{...},{...}]}, {post:{...}, replies:[{...},{...}]}, {post:{...}, replies:[{...},{...}]}]Gracias de antemano
Puede leer documentos de todas las colecciones de replies con una consulta de grupo de colección .
Pero no hay forma de limitar eso a las colecciones de replies bajo un conjunto específico de ID de documentos, a menos que esas ID de documentos también estén en los documentos de replies .