Estoy tratando de acceder a los documentos de firebase firestore dentro de la subcolección (mensajes):
user > user.uid > messages > docRef.id > date: Date.now() text: userText userEmail: user.email userName: display.nameUsé lo siguiente:
const snapRef2 = collection(db, "users/" + user.uid + "/messages") onSnapshot(snapRef2, (snapshot) => { snapshot.forEach((doc) => { console.log(doc.data()); }) }) Pero este método solo funciona cuando user.uid es una cadena como: const snapRef2 = collection(db, "users/randomstring/messages")
¿Cómo accedo a los documentos dentro de los mensajes?
const snapRef2 = collection(db, `users/${user.uid}/messages`)Asegúrate de usar tildes de retroceso en lugar de comillas
El código en su respuesta funciona si desea recuperar los mensajes de un usuario específico, identificado por user.uid .
Si desea obtener los mensajes de todos los usuarios, puede utilizar una consulta de grupo de recopilación . Tal consulta lee de todas las colecciones con un nombre específico, como messages :
const snapRef2 = collectionGroup(db, "messages") ...El resto de su código puede permanecer igual.